【发布时间】:2012-12-09 04:31:44
【问题描述】:
$sql = "SELECT # FROM users WHERE onduty = 1 AND loc_id = '{$site}';";
$result = mysql_query($sql);
我只是想测试一下这是对还是错。如果它返回 0 行,我希望下一行类似于:
if (!$result) { //do this; }
但是,在我的测试中,当我知道它应该是真的时,我却弄错了。这是合理的逻辑吗?
(注意,是的,我知道我应该使用mysqli_query,这不是我在这里要问的)**
回答: 这是我用的:
$login_state = false;
if(mysql_num_rows(mysql_query("SELECT 1 FROM users WHERE onduty = 1 AND loc_id = '{$site}';"))) {
$login_state = true;
}
【问题讨论】:
-
为什么
{$site}';";??看起来应该是{$site}'"; -
注意! PHP 的未来版本将弃用和删除
mysql_系列函数。现在是switch to PDO 或mysqli 的好时机。 -
@NullPointer,我不关心 URL 缩短器和 sn-p 使用的一些措辞,否则我会。
-
Please, don't use
mysql_*functions in new code。它们不再维护,deprecation process 已开始使用。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果选择 PDO,here is a good tutorial