2013-06-26 144 views
0

我想使用从前面的sql语句中获取的id来获取该表的id信息,但$query3总是返回FALSE,我可以'似乎弄清楚了。我已连接到数据库,并且我具有访问此表的权限。该ID在每种情况下也是正确的。在其他sql语句中使用sql语句结果

CODE

global $con; 
$query = $con->prepare("SELECT * FROM allTeams WHERE Coach = ?"); 
$query->bind_param('s',$username); 
$query->execute(); 
$query->bind_result($Id,$time,$day,$coach,$hCoach); 

$date = date('d-m'); 
$array = array(); 

while($row = $query -> fetch()) 
{ 
    var_dump($Id); 
    echo "<br />"; 
    $teamId = strval($Id); 
    $query3 = $con -> query("DESCRIBE `$teamId`"); 
    var_dump($query3); 
    echo "<br />"; 
} 

输出

int(1022) 
bool(false) 
int(1023) 
bool(false) 
int(2033) 
bool(false) 
+0

你真的有名为'1022'的表吗?另外,你错过了一个返回值:''$ con> query(“DESCRIBE'$ teamId'”);'' –

+0

是的。我加了back-tick,但输出仍然是一样的。 –

+0

什么*确切*你想要做什么?你真的*有一张名为'1022'的表吗?你想要“描述”什么?你为什么使用ID?你的目标是什么?输出应该是什么? –

回答

1

您正在尝试运行相同$con对象的查询,而一个已经打开。你不能那样做。

你需要做的就是致电store_result关闭第一个查询,然后才能运行新的查询。

global $con; 
$query = $con->prepare("SELECT * FROM allTeams WHERE Coach = ?"); 
$query->bind_param('s',$username); 
$query->execute(); 
$query->store_result(); 
$query->bind_result($Id,$time,$day,$coach,$hCoach); 

$date = date('d-m'); 
$array = array(); 

while($row = $query -> fetch()) 
{ 
    var_dump($Id); 
    echo "<br />"; 
    $teamId = strval($Id); 
    $query3 = $con -> query("DESCRIBE `$teamId`"); 
    var_dump($query3); 
    echo "<br />"; 
}