Php mysql查询不应返回true';T
如果Php mysql查询不应返回true';T,php,mysql,Php,Mysql,如果$key不是数据库key\u code列中的值,则这并不是我所期望的那样。相反,它只是继续。我可能错过了一些非常简单的东西 $key = $_GET['k']; $keycheck = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'"); if (!$keycheck) { die("A database error has occured."); } else { mysql\u query根据查询是否成
$key
不是数据库key\u code
列中的值,则这并不是我所期望的那样。相反,它只是继续。我可能错过了一些非常简单的东西
$key = $_GET['k'];
$keycheck = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'");
if (!$keycheck) {
die("A database error has occured.");
} else {
mysql\u query
根据查询是否成功执行返回资源或false
。它不以任何方式表示返回了多少行,也不表示查询是否做了什么,只表示查询是否成功执行
检查返回的结果数或分别计算返回的结果。尝试检查找到的行数
$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
}
这不是
mysql\u query()
实际工作的方式。请参阅手册:最疯狂的代码。你想知道什么?如果查询失败或成功,则返回!否,mysql\u query()
如果查询失败,则返回false;如果查询成功执行,则返回资源。它从不返回布尔值true。@Arjan它可以返回true
:对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql\u query()成功时返回true,错误时返回FALSE。