我希望这个MySQL查询在表中找不到匹配的ID时突然爆炸:
mysql_query("SELECT * FROM table WHERE id='1' LIMIT 1") OR die("Boom!");
没有。它只是继续处理而没有错误。
我在这里缺少什么?
答案 0 :(得分:6)
如果select语句没有找到任何行,它就不会失败 - 它只返回一个空的结果集。
您可以查看mysql_num_rows
以查看是否找到了任何行。
答案 1 :(得分:1)
sql语句不会失败,它实际上什么都不返回。 看这里How does "do something OR DIE()" work in PHP?
答案 2 :(得分:1)
当您在其中发出语法或逻辑错误时,查询仅“失败”。
不返回任何行的查询仍然是有效查询。检查它返回的结果集,看看你得到了多少结果:在你的情况下,检查是否有“0”。
答案 3 :(得分:-1)
使用mysql command line client从命令行运行查询,以确保表格没有损坏。