这个场景有多少个SQL查询(PHP)?

时间:2013-01-23 10:21:37

标签: php mysql sql

好的,所以如果我像这样设置一个变量sql_query:

$query = mysql_query("..");

并调用多个mysql_result,如下所示:

mysql_result($query, 0);
mysql_result($query, 1);
mysql_result($query, 2);

页面调用服务器的查询数量是多少? 只有一次?或三次?

4 个答案:

答案 0 :(得分:4)

执行mysql_query时,执行sql ,并将结果保存在内部结果结构中。下次当您致电mysql_result时,它会从该内部结果中获取。

对于缓冲查询,只要执行mysql_query,reusult就会从MySQL服务器复制到PHP。对于未缓冲的查询,它将被懒惰地复制。

因此在两种情况下查询只执行一次。但对于未缓冲的查询,它将从MySQL服务器获取。每次致电mysql_resultmysq_fetch_* Buffered and Unbuffered queries

答案 1 :(得分:0)

你自己给出了答案。如果您正在调用“查询”功能一次,那么它只会 无论你解析其返回值多少次都执行一次

$query = mysql_query("..");

运行上面的代码然后执行查询,返回的资源在$ query变量中。然后你可以多次从中获取数据,但查询不会再次运行。

答案 2 :(得分:0)

这将是一个带有数据库的查询,这意味着服务器。 mysql_result()不应与对处理结果集的其他函数的调用混在一起。

有关详细信息,请访问:http://php.net/manual/en/function.mysql-result.php

答案 3 :(得分:0)

只针对mysql服务器执行* mysql_query *。 只有一个查询

mysql_result只从mysql资源中获取数据,如果您以前从代码中的查询中获取数据或设法从其他来源获取数据,则无关紧要。

从PHP 5.5.0开始,不推荐使用此功能;执行此操作的新方法是创建 mysqli 对象并使用函数 mysqli :: query mysqli :: fetch_field < / p>