我试图使用从前面的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) 发布于 2013-06-26 18:24:13
您正在尝试在同一个$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 />";
}https://stackoverflow.com/questions/17327261
复制相似问题