如何检查使用旧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

+3

或者干脆'如果(!的mysql_query( 'SELECT * WHERE 1 = 1')){...}' – 2012-08-12 00:32:20

+2

@Rune:对,但是你将无法使用查询资源的进一步行动(即用于使用'mysql_fetch_ *'函数获取实际数据)。 – 2014-05-21 13:36:54

+1

@AmalMurali嗯,好点。在发布该评论时,我不确定自己在头脑中的位置。 – 2014-05-22 19:44:50

如果您的查询失败,您将收到一个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>"; 
} 
+1

使用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(); 
    }