我试图阻止mysql_query错误输出到我的表单上.目前,如果找不到位置,我收到错误
“警告:mysql_result()[function.mysql-result]:无法跳转到MySQL结果索引11的第0行”
我试图捕获此错误,而是将$location变量指定为未找到.尝试此操作的代码如下,我做错了什么?
谢谢!
$query3 = "SELECT `location` FROM location WHERE vin = '$vin' LIMIT 1";
$result3 = mysql_query($query3);
if (!mysql_result($result3,0)) {
$location = "Not found";
} else $location = mysql_result($result3,0,0);
解决方法:
通常不应该使用mysql_result().你最好用以下的东西:
$result3 = mysql_query($query3) or die(mysql_error());
if (mysql_numrows($result3) == 0) then
$location = "not found";
} else {
$row = mysql_fetch_array($result3);
$location = $row[0];
}
您的错误是由查询未返回任何行 – 例如没有匹配.然后,您尝试检索该结果集的第一行中的第一个字段,该行不存在.使用mysql_numrows()检查返回行的数量是更安全的,因为无论查询是否找到任何行或是否为bajillion行都可以.
标签:php,mysql
来源: https://codeday.me/bug/20190518/1128755.html