• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mysql_free_result()

    (PHP 4, PHP 5)

    释放结果内存

    说明

    mysql_free_result(resource $result): bool

    mysql_free_result()将释放所有与结果标识符$result所关联的内存。

    mysql_free_result()仅需要在考虑到返回很大的结果集时会占用多少内存时调用。在脚本结束后所有关联的内存都会被自动释放。

    成功时返回TRUE,或者在失败时返回FALSE

    为向下兼容仍然可以使用mysql_freeresult(),但反对这样做。

    参数

    $result

    resource型的结果集。此结果集来自对mysql_query()的调用。

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    If a non-resource is used for the$result, an error of level E_WARNING will be emitted. It's worth noting that mysql_query() only returns a resource for SELECT, SHOW, EXPLAIN, and DESCRIBE queries.

    范例

    Example #1 A mysql_free_result() example

    <?php
    $result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
    if (!$result) {
        echo 'Could not run query: ' . mysql_error();
        exit;
    }
    /* Use the result, assuming we're done with it afterwards */
    $row = mysql_fetch_assoc($result);
    /* Now we free up the result and continue on with our script */
    mysql_free_result($result);
    echo $row['id'];
    echo $row['email'];
    ?>
    

    注释

    Note:

    为了向下兼容,可以使用下列已废弃的别名:mysql_freeresult()

    参见

    yes this function may increase the memory usage if you use unbuffered querys and if you have not fetched all the data from mysql. in this case the mysql api has a problem: you want to free the result but do not want to close the connection. now mysql will only accept another query if all data has been fetched, so the api now must fetch the rest of the data when calling mysql_free_result().
    so only use unbuffered querys if you fetch all the data (and need it).
    mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
    If you're seeing warnings like "Warning: Unknown: 6 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0" and want to turn them off, set mysql.trace_mode = Off in your php.ini