当前位置:  开发笔记 > 编程语言 > 正文

mysql_num_rows是否有效和/或标准实践?

如何解决《mysql_num_rows是否有效和/或标准实践?》经验,为你挑选了1个好方法。

不久之前,我正在尝试使用SQLite,试图将我的一些网站移植到使用它而不是MySQL.我很想知道缺少一个计算结果的函数,比如PHP mysql_num_rows().稍微搜索一下后,我发现了这个邮件列表,据我所知,SQLite没有这个功能,因为它效率低下.它声明编写需要知道返回多少行的代码是不好的形式.

我通常mysql_num_rows用来检查空的返回结果.例如:

$query = "SELECT * FROM table WHERE thing = 'whatever'";
$results = mysql_query($query);

if (mysql_num_rows($results)) {
    while ($row = mysql_fetch_array($results)) {
        echo "

$row[whatever]

"; } } else { echo "

No results found

"; }

mysql_num_rows()对SQLite社区概念的强烈厌恶使我想知道它是否对PHP中的常规MySQL非常有效.

有没有更好的,更可接受的方法来检查PHP中的MySQL结果集的大小mysql_num_rows()

编辑:我不只是mysql_num_rows用来计算 - 我会用它来COUNT查询.在输出所有内容之前,我用它来检查是否有任何结果.这对于显示搜索结果等内容非常有用 - 并不总能保证会有结果.在SQLite世界中,我必须发送一个COUNT查询,检查是否有什么,然后发送SELECT查询以获取所有内容.



1> Brian Ramsay..:

如果你有结果,你已经有了一些东西告诉你mysql_fetch_array().如果没有更多的行要获取(从php.net),它返回false .

$query = "SELECT * FROM table WHERE thing = 'whatever'";
$results = mysql_query($query);
if($results) {
    $row = mysql_fetch_array($results);
    if($row) {
        do {
            echo "

{$row[whatever]}

"; } while($row = mysql_fetch_array($results)); } else { echo "

No results found

"; } } else { echo "

There was an error executing this query.

"; }

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有