我正试图抓住pdo。我有以下功能:
function get_editusers($db)
{
$result = $db->query("SELECT firstname, middlename,surname,fullname,gender, birthdate,homelanguage,department,employeetype,employeestatus,idnumber FROM Persons where employeeid='$employeeid'");
return $result;
}
$useredit = get_editusers($db);
我如何知道查询是否正确运行?如果不成功,我希望执行某项行动,但不确定如何“抓住”错误。
if($useredit="failed"){ action if failed} else { action if true}
提前致谢,
答案 0 :(得分:2)
function get_editusers($db){
try {
$result = $db->query("SELECT firstname, middlename,surname,fullname,gender, birthdate,homelanguage,department,employeetype,employeestatus,idnumber FROM Persons where employeeid='$employeeid'");
return $result;
} catch(PDOException $ex) {
return $ex;
}
}
$result = get_editusers($db);
if(isset($result->errorInfo)){
die($result);
}
答案 1 :(得分:1)
简单的try / catch块可以工作:
try{
$result = $db - > query("SELECT firstname, middlename,surname,fullname,gender, birthdate,homelanguage,department,employeetype,employeestatus,idnumber FROM Persons where employeeid='$employeeid'");
return $result;
}
catch(PDOException $exception){
return $exception;
}
或者,如果您只想返回true / false值而不是特定的异常:
$result = $db -> query("SELECT firstname, middlename,surname,fullname,gender, birthdate,homelanguage,department,employeetype,employeestatus,idnumber FROM Persons where employeeid='$employeeid'");
if (!$result){
return false;
}
else{
return true;
}
答案 2 :(得分:0)
PDO有一个函数,这个函数检索错误信息。也许它会有所帮助。