Nadal staram się opanować pdo.Złap i wyjmij błędy mysql pdo
Mam instrukcję insert, która jest wykonywana z pdo. Wstawianie działa świetnie, ale jeśli wystąpił błąd, chciałbym aby był wyświetlany użytkownikowi.
Mam poniżej spróbuj catch catch.
try{
$insertuser = $db->prepare('INSERT INTO `she_she`.`Persons` (`idnumber`,`addedby`,`firstname`, `middlename`, `surname`, `fullname`, `gender`, `birthdate`, `homelanguage`, `department`, `employeetype`, `employeestatus`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)');
$insertuser->execute(array($idnumber,$user,$firstname, $middlename, $surname, $fullname, $gender, $birthdate, $language, $department, $employmenttype, $personstatus));
}
catch(PDOException $exception){
return $exception;
}
Jeśli zapytanie nie powiedzie się lub powiemy duplikatowi IDNumber, chcę, aby to zostało wyświetlone użytkownikowi.
Jeśli po prostu wypróbuję echo zmiennej $ wyjątek, to nie działa.
Chcę zwrócić błąd mysql dla użytkownika.
Jakakolwiek rada doceniona jak zawsze.
Dzięki, Ryan
UPDATE
nowy kod zgodnie z proponowanymi odpowiedziami:
try{
$insertuser = $db->prepare('INSERT INTO `she_she`.`Persons` (`idnumber`,`addedby`,`firstname`, `middlename`, `surname`, `fullname`, `gender`, `birthdate`, `homelanguage`, `department`, `employeetype`, `employeestatus`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)');
$insertuser->execute(array($idnumber,$user,$firstname, $middlename, $surname, $fullname, $gender, $birthdate, $language, $department, $employmenttype, $personstatus));
}
catch(PDOException $exception){
return $exception->getMessage();
}
echo "exception: ".$exception;
$ Wyjątkiem będzie obiektem typu PDOException, a dwa z wielu atrybutów będzie kod błędu mysql i Komunikat o błędzie. –