我正在尝试使用从先前的sql语句中获取的ID来获取该ID的表信息,但是$query3始终返回FALSE,我似乎无法弄清楚。我已连接到数据库,并且确实具有访问此表的权限。该id在每种情况下也都是正确的。



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)

最佳答案

您正在尝试在同一个$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 />";
}

关于php - 在其他sql语句中使用sql语句结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17327261/

10-10 23:20