-1

$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 {
4

2 回答 2

2

mysql_query返回资源或false根据查询是否成功执行。它不以任何方式表示返回了多少行或查询是否做了任何事情,只表示它是否成功执行。

检查返回的结果数量或单独评估返回的结果。

于 2013-02-09T12:38:45.150 回答
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
}
于 2013-02-09T12:40:31.983 回答