如果$key
不是数据库的key_code
列中的值,那么这并不像我预期的那样死亡。相反,它只是继续。我可能错过了一些非常简单的事情。
$key = $_GET['k'];
$keycheck = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'");
if (!$keycheck) {
die("A database error has occured.");
} else {
答案 0 :(得分:2)
mysql_query
根据查询是否成功执行返回资源或false
。它不以任何方式表示返回了多少行或查询是否执行了任何操作,只是表示它是否成功执行。
检查返回的结果数量或分别评估返回的结果。
答案 1 :(得分:0)
尝试检查找到的行数。
$key = $_GET['k'];
$result = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'");
if (!$result) {
die("A database error has occured.");
} else if (0 == mysql_num_rows($result)) {
// unknown key action
} else {
// known key action
}