【发布时间】:2012-08-13 19:53:31
【问题描述】:
我想比较两个值,如果一个大于另一个,那么它会在数据库中执行一些更新,但是结果总是返回 false。这是我正在努力解决的代码部分的示例:
<?php
$page = mysql_fetch_object(mysql_query("SELECT * FROM `site` WHERE `id`='{$posts['him']}'"));
$count = file_get_contents($site->site_url . 'count/numbercheck.php?url=' . ($page->url));
if(is_numeric($count) && $count > $posts['count'])
{
echo 'true';
}else{
echo 'false';
}
?>
这回声是假的。 $posts['count'] 来自另一个页面上的 jquery 帖子。我确信 $count 大于 $posts['count']。只是为了确定然后我这样做了:
<?php
$page = mysql_fetch_object(mysql_query("SELECT * FROM `site` WHERE `id`='{$posts['him']}'"));
$count = file_get_contents($site->site_url . '/count/numbercheck.php?url=' . ($page->url));
if(is_numeric($count) && $count > $posts['count'])
{
echo 'true' . $count . ' ' . $posts['count'];
}else{
echo 'false' . $count . ' ' . $posts['count'];
}
?>
返回“false 86 85”。我不明白,我做错了什么?我很清楚 86 大于 85。
【问题讨论】:
-
您是否检查过 AND 的哪一部分失败了?
is_numeric是返回 false,还是绝对是比较部分?你试过在$posts['count']上运行is_numeric吗? -
这可能无助于回答您的问题,但您应该停止使用
mysql_*函数。它们正在被弃用。请改用PDO(PHP 5.1 起支持)或mysqli(PHP 4.1 起支持)。如果您不确定要使用哪一个,read this article. -
var_dump() $count 和 $posts['count'] 值来测试它们是什么数据类型以及它们实际包含什么
标签: php operator-keyword