我有这样的代码:
$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 EXISSSTTTT!!!!!!!!!!!!!!!!",然后当我刷新页面或按Ctrl+F5它将显示"EXISSSTTTT!!!!!!!!!!!!!!!!",当我再次刷新它将显示"NOT EXISSSTTTT!!!!!!!!!!!!!!!!"。
作用如下:
Submit: Not Exists
刷新:存在
第二次刷新:Not Exists
第三次刷新:Exists
有什么建议为什么它工作奇怪吗?
谢谢。
如果查询返回0行或查询失败(mysql_num_rows
在错误情况下返回FALSE
),则代码输出"not exist"。所以我猜你有一个连接相关的问题(或者你可能动态构造查询,而不是转义一些数据)。您可以通过输出错误信息来跟踪它:
$query = mysql_query($sql) or die(mysql_error()) ;
$exist = mysql_num_rows($query);