我有这段代码:
$sql = "SELECT
t.id AS txn_id,
g.id AS guest_id,
a.id AS booking_id
FROM
bookings a
LEFT JOIN transactions t ON a.txn_id=t.id
LEFT JOIN guests g ON g.txn_id=t.id
WHERE
t.code='o2-i1321209942'
LIMIT 1";
$query = mysql_query($sql);
$exist = mysql_num_rows($query);
if(!$exist) {
echo 'NOT EXISSSTTTT!!!!!!!!!!!!!!!!';
} else {
echo 'EXISSSTTTT!!!!!!!!!!!!!!!!';
}
注意:数据存在于数据库中
当我从表单中单击提交时,它将显示“NOT EXISSSTTT !!!!!!!!!!!!!!!!”然后当我刷新页面或按Ctrl + F5时,它将显示“EXISSSTTTT !!!!!!!!!!!!!!!!”当我再次刷新它会显示“NOT EXISSSTTT !!!!!!!!!!!!!!!!”试。
它的行为如下:
提交:不存在
刷新:存在
第二次刷新:不存在
第三次刷新:存在
任何建议为什么它工作奇怪?任何答案都将不胜感激。
感谢。
答案 0 :(得分:1)
如果查询返回0行或查询失败,则代码输出“不存在”(如果出现错误,mysql_num_rows
将返回FALSE
)。所以我猜你有一个连接相关的问题(或者你可能动态构造查询而不是逃避一些数据)。您可以通过输出错误信息来追踪它:
$query = mysql_query($sql) or die(mysql_error()) ;
$exist = mysql_num_rows($query);