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

检查mysql_query是否返回任何内容

如何解决《检查mysql_query是否返回任何内容》经验,为你挑选了3个好方法。



1> Piskvor cc-b..:

Jeremy Ruten上面的答案很好并且执行得很快; 另一方面,它只给你行数而没有别的(如果你想要结果数据,你必须再次查询数据库).我用的是什么:

// only ask for the columns that interest you (SELECT * can slow down the query)
$query = "SELECT some_column, some_other_column, yet_another_column FROM `table`";
$results = mysql_query($query, $connection);
$numResults = mysql_num_rows($results);
if ($numResults > 0) {
   // there are some results, retrieve them normally (e.g. with mysql_fetch_assoc())
} else {
   // no data from query, react accordingly
}



2> Jeremy Ruten..:

您可以使用mysql_num_rows($ results)来检查是否返回了0行,或者使用这个更快的替代方法:

$query = "SELECT COUNT(*) AS total FROM table";
$results = mysql_query($query, $connection);
$values = mysql_fetch_assoc($results);
$num_rows = $values['total'];


如果你*希望*从表中获取数据,但只想知道它是否为空,以便你可以在结果页面上这样说,那么就进行正常查询并使用mysql_num_rows.你不想做的是:计算行数(使用上面的),然后在count> 0时进行正常查询.
是的,我没有想到这一点,因为我通常会执行"SELECT COUNT(*)"查询来计算内容的页数,然后从表中选择几行,具体取决于用户所在的内容页面.

3> Toby Allen..:

或者,您只需检查mysql_fetch_assoc的结果是否为false.

$query = "SELECT * FROM `table`";
$results = mysql_query($query, $connection);
$Row = mysql_fetch_assoc($results);
if ($Row == false)
{
  $Msg = 'Table is empty';
}

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