如何检查使用旧API的MySQL查询是否成功?
如何检查是否MySQL查询比使用die()
如何检查使用旧API的MySQL查询是否成功?
我想实现成功的其他...
mysql_query($query);
if(success){
//move file
}
else if(fail){
//display error
}
这是手册页mysql_query
第一个例子:
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
如果你想使用除die
以外的东西,那么我建议trigger_error
。
如果您的查询失败,您将收到一个FALSE返回值。否则,您将收到资源/ TRUE。
$result = mysql_query($query);
if(!$result){
/* check for error, die, etc */
}
基本上只要它不是假的,你没事。之后,你可以继续你的代码。
if(!$result)
这部分代码实际上运行您的查询。
您也可以使用mysql_errno()
。
$result = mysql_query($query);
if(mysql_errno()){
echo "MySQL error ".mysql_errno().": "
.mysql_error()."\n<br>When executing <br>\n$query\n<br>";
}
使用mysql_errno()更可靠,因为你不能完全依赖从mysql_query()返回的结果类型。 – dar7yl 2012-08-12 01:05:27
mysql_query
函数被用于在PHP执行MySQL查询。 mysql_query
的回报,如果查询执行假fails.Alternatively你可以,如果查询执行失败,那么它将终止执行,并显示MySQL的尝试使用mysql_error()
功能 对于如
$result=mysql_query($sql)
或
die(mysql_error());
在上面的代码片断SQL查询执行时出错。
如果使用MySQLi
bind_param尝试把此行上述查询
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
只放:
or die(mysqli_error());
查询
后,它会retern的误差echo
例如
// "Your Query" means you can put "Select/Update/Delete/Set" queries here
$qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error());
if (mysqli_errno()) {
echo 'error' . mysqli_error();
die();
}
或者干脆'如果(!的mysql_query( 'SELECT * WHERE 1 = 1')){...}' – 2012-08-12 00:32:20
@Rune:对,但是你将无法使用查询资源的进一步行动(即用于使用'mysql_fetch_ *'函数获取实际数据)。 – 2014-05-21 13:36:54
@AmalMurali嗯,好点。在发布该评论时,我不确定自己在头脑中的位置。 – 2014-05-22 19:44:50