<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别" id="card1">
<p> 游客</p><p>
标题:PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别<br/>
正文:<br/>
虽然nosql变得流行，但是我感觉sql还是主流今天在翻php manul的时候，发现mysqli 的查询可以传递一个有意思的参数代码如下: @mysqli_query($this-&amp;gt;sql,$SQL,($method ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT));在php manul上面对这两个参数是这样解释的。代码如下: Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.如果什么也不传，那就默认为MYSQLI_STORE_RESULT。在phpmanul上面有人说了这样一句话If we have to retrieve large amount of data we use MYSQLI_USE_RESULT其实这两个参数的区别还是很大的。（1）区别在于从服务器上检索结果集的行。（2）MYSQLI_USE_RESULT 启动查询，但实际上并未获取任何行（3）MYSQLI_STORE_RESULT 立即检索所有的行（4）MYSQLI_STORE_RESULT 从服务器上检索结果集时，就提取了行，并为之分配内存，存储到客户机中，随后调用 mysqli_fetch_array()就再也不会返回错误，因为它仅仅是把行脱离了已经保留结果集的数据结构，mysqli_fetch_array()返回 NULL始终表示已经到达结果集的末端。（5）MYSQLI_USE_RESULT 本身不检索任何行，而只是启动一个逐行的检索，就是说必须对每行调用 mysqli_fetch_array()来自己完成。既然如此，虽然正常情况下，mysqli_fetch_array()返回NULL仍然表示此时已到达结果集的末端，但也可能表示在与服务器通信时发生错误。总结与MYSQLI_USE_RESULT相比，MYSQLI_STORE_RESULT 有着较高的内存和处理需求，因为是在客户机上维护整个结果集，所以内存分配和创建数据结构的耗费是非常巨大的，如果想一次检索多个行，可用 MYSQLI_USE_RESULT。MYSQLI_USE_R<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1781&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1781&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1781&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1781&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1781">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1781">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>