【问题标题】:mysqli_free_result proper usemysqli_free_result 正确使用
【发布时间】:2014-11-28 16:31:18
【问题描述】:

不知道如何在标题中总结这一点,所以只写我写的。

我遇到了这个问题:

$result = $connect->query($query, MYSQLI_STORE_RESULT);

然后,在同一个脚本的下方,我将“结果”变量名用于其他内容(更新查询,因此没有 MYSQLI_STORE_RESULT):

$result = $connect->query($query);

我在脚本的最后写了:

mysqli_free_result($result);

我收到一个错误 - 由于 $result 已设置为其他值,因此没有可释放的存储结果。

我的问题是......

当我执行第一个查询时:

$result = $connect->query($query, MYSQLI_STORE_RESULT);

即使在使 $result 等于其他值之后,结果是否会继续存储?

或者,在分配 $result 第二次查询执行时,结果会被释放吗?

【问题讨论】:

    标签: php mysqli


    【解决方案1】:

    先做以下

    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
    
    /* Update table doesn't return a resultset */
    if (mysqli_query($link, "Update tb1 Set col1="qqq"") === TRUE) {
        printf("Table tb1 successfully updated.\n");
    }
    
    // Select queries return a resultset
    
    if ($result = mysqli_query($link, "SELECT * FROM tb1")) {
        printf("Select returned %d rows.\n", mysqli_num_rows($result));
    
        /* free result set */
        mysqli_free_result($result);
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多