在其他sql语句中使用sql-statement结果

时间:2013-06-26 18:00:13

标签: php mysql sql database

我正在尝试使用我从之前的sql语句获取的id来获取该id的表信息,但$query3总是返回FALSE而我似乎无法弄清楚。我连接到数据库,我有权访问此表。在每种情况下,id也是正确的。

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) 

1 个答案:

答案 0 :(得分: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 />";
}