首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php mysqli连接在调用过程后保持不变

问Php mysqli连接在调用过程后保持不变
EN

Stack Overflow用户
提问于 2015-11-19 22:02:44
回答 1查看 696关注 0票数 0

我试图使用php的mysqli扩展在mysql数据库中执行一些查询。

我的一个查询很好地处理string查询,它获取数据并关闭连接(我不知道如何)。

但是,当我试图调用存储过程而不是使用字符串查询时,它可以工作,但是连接仍然处于休眠状态,并且没有关闭。

第1部分

工作和连接关闭

代码语言:javascript
复制
public function getCities(){
    $connection = $this ->db-> connect();
    $result = $connection -> query("select * from cities");

    return $result;
}

Part2

工作但连接仍处于睡眠状态

代码语言:javascript
复制
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;
}

我发现了同样的问题,但没有得到回答。

EN

回答 1

Stack Overflow用户

发布于 2015-11-19 22:07:34

代码语言:javascript
复制
mysqli_close($connection);

如果mysqli成功关闭连接,则返回true。因此,您不是要检查连接是否已关闭,而是要成功地关闭连接。

在成功时返回TRUE,在失败时返回FALSE。

http://php.net/manual/en/mysqli.close.php

由于您在评论中添加的信息。

您正在连接数据库两次,但只关闭了一次连接。通常,您将将连接存储在属性中并重用该连接,然后在调用或脚本结束时关闭它。所以就像这样。

代码语言:javascript
复制
$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
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33815169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档