我试图使用php的mysqli扩展在mysql数据库中执行一些查询。
我的一个查询很好地处理string查询,它获取数据并关闭连接(我不知道如何)。
但是,当我试图调用存储过程而不是使用字符串查询时,它可以工作,但是连接仍然处于休眠状态,并且没有关闭。
第1部分
工作和连接关闭
public function getCities(){
$connection = $this ->db-> connect();
$result = $connection -> query("select * from cities");
return $result;
}Part2
工作但连接仍处于睡眠状态
public function getCities(){
$connection = $this ->db-> connect();
$result = $connection -> query("Call procGetCities()");
$isclosed=mysqli_close($connection);
if(!isclosed){
echo "notclosed";
} else {
echo "closed";//returnin closed
}
return $result;
}我发现了同样的问题,但没有得到回答。
发布于 2015-11-19 22:07:34
mysqli_close($connection);如果mysqli成功关闭连接,则返回true。因此,您不是要检查连接是否已关闭,而是要成功地关闭连接。
在成功时返回TRUE,在失败时返回FALSE。
http://php.net/manual/en/mysqli.close.php
由于您在评论中添加的信息。
您正在连接数据库两次,但只关闭了一次连接。通常,您将将连接存储在属性中并重用该连接,然后在调用或脚本结束时关闭它。所以就像这样。
$connection = $this ->db-> connect();
public function getCities()
{
$result = $connection -> query("select * from cities");
return $result;
}
public function getCities()
{
$result = $connection -> query("Call procGetCities()");
return $result;
}
$isclosed=mysqli_close($connection);
if(!isclosed)
{
echo "notclosed";
}
else
{
echo "closed";//returnin closed
}https://stackoverflow.com/questions/33815169
复制相似问题