如果$ sql_result没有结果,则会抛出错误... 如果没有行,这样做是为了防止错误的正确方法是什么..它不能在以前计算行数?
mysql_result($sql_result, 0);
对任何响应者的亲切问候...... J
答案 0 :(得分:0)
if (is_resource($sql_result)) {
$value = mysql_result($sql_result, 0);
}
答案 1 :(得分:0)
您必须先测试$sql_result
。
答案 2 :(得分:0)
if ($sql_result !== false # query was successful
&& mysql_num_rows($sql_result) > 0) # query returned rows
{
// do your thing
}
答案 3 :(得分:0)
这是我更喜欢的方法:
$sql = "SELECT * ....";
$r = mysql_query($sql);
if (!$r) throw new Exception('Error: ' . mysql_error() . '; Attempted: ' . $sql);
if (mysql_num_rows($r) > 0) {
//Process Result
} else {
//Deal with an empty Result Set
}
如果mysql查询失败,我会抛出一个异常,因为在我的应用程序中,至少一个失败的sql查询是一个交易破坏者:继续正常的脚本执行不会完成任何有用的事情〜[SQL语法有错误或数据库连接问题]。在应用程序适合捕获此类问题之前,Exception会一直冒泡。
我使用特定于应用程序的异常:ExceptionMySQL
,以便我可以在应用程序中更智能地捕获它:例如。
//Top Level Application
try {
//Execute appropriate application call
} catch (ExceptionMySQL $e) {
//Deal with a mysql exception
} catch (ExceptionPermission $e) {
//Deal with a permission Exception
} catch (//etc. etc. etc.