繁体   English   中英

PHP中的MySQL空查询-我会得到什么? 资源ID?

[英]Mysql empty query in php - what do I get? Resource ID?

我想检查查询是否为空(无行)。 弄乱它的最好方法是什么?

在下面的“ $ result”和“ $ row”中我能得到什么(这就是我要解决的方式-if if($result)或使用if($row)表示它不为空。更好建议?

谢谢。

       $result = mysql_query("SELECT * FROM table1 WHERE column1= '$var1'
                              AND column2 IN ('no','nein','nope')
                              AND timestamp BETWEEN '$date' AND NOW()"); 
       $row = mysql_fetch_assoc($result);    

您可以使用mysql_num_rows($result)获取行数,或者可以查看$row === false ;

$row将成为记录集的第一行;如果查询没有结果,则为false 如果查询成功,如果错误返回false$result将是记录集资源。

如果您在项目初期还只是学习和/或只是学习,请考虑切换到新的DB接口PDO 至少使用Mysqli ...现在使用的mysql扩展有点过时了。 它可以正常运行,有时甚至在旧版应用程序/站点中也需要,但应尽可能避免。

测试一下。

$result = mysql_query("SELECT * FROM table1 WHERE column1= '$var1'
                          AND column2 IN ('no','nein','nope')
                          AND timestamp BETWEEN '$date' AND NOW()"); 
$row = mysql_fetch_array($result);

if (mysql_num_rows($result) > 0) {
   echo $row['column name'];
}

使用mysql_num_rows获取行数。

如果您的查询没有失败,则$ result始终为Resource类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM