需要测试sql查询是否成功

Bra*_*rad 18 php sql

我有这个查询,如果它返回成功,我想要另一个函数来处理,如果没有,不要处理该函数.

以下是运行查询的代码

global $DB;
$DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'");
Run Code Online (Sandbox Code Playgroud)

我想它就像......

if($DB) { 
    //success 
} else { 
    //failure 
}
Run Code Online (Sandbox Code Playgroud)

str*_*ade 31

这是您可以测试的最简单方法

$query = $DB->query("UPDATE exp_members SET group_id = '$group_id' WHERE member_id = '$member_id'");

if($query) // will return true if succefull else it will return false
{
// code here
}
Run Code Online (Sandbox Code Playgroud)

  • 这适用于Storeprocedures和PDO api for php吗? (4认同)
  • 即使0行受到影响,这也会返回true - 如果查询中有错误,它将只返回false,所以对于UPDATE SQL,我建议,mysql_affected_rows() (3认同)

kja*_*llo 7

mysql_affected_rows

我理解,通过说"成功",您想知道是否有任何行已更新.您可以使用此功能进行检查.

如果您使用PDO - > http://www.php.net/manual/en/pdostatement.rowcount.php