我制作了一個帶有姓名、電話號碼和評論的訂閱公式。我在我的資料庫中的手機上放置了一個唯一的密鑰,以避免多個具有相同號碼的條目。由于訊息錯誤難以理解
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0600000000' for key 'telephone' in C:\xampp\htdocs\sitesweb\formulaire\inscription.php:28 Stack trace: #0 C:\xampp\htdocs\sitesweb\formulaire\inscription.php(28): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\sitesweb\formulaire\inscription.php on line 28
我決定個性化它。我嘗試/捕捉。try / catch 幾乎完美地作業
我是這樣編碼的
try{
here my sql request ...
}
catch( PDOException $e ) {
error_log($e -> getMessage());
if($e->getCode()==23000){
echo '<span >The phone number is already exist.</span>';
}else{
echo '<span >Thanks this person is added to the database</span>';
}
}
該腳本運行良好(沒有第二次添加現有的電話號碼,并且添加了不存在的電話,所以沒關系)。
我的問題是我的if情況的第一條訊息(當電話已經存在時)顯示良好,但else沒有顯示“感謝此人已添加到資料庫”的訊息(我只有我的背景)。
正常嗎?還是我的代碼出錯了?
uj5u.com熱心網友回復:
我認為它不會繼續else宣告,因為例外應該是“錯誤”,但它實際上設法將其寫入資料庫......
做這樣的事情
$exist = "no";
try{
here my sql request ...
}
catch( PDOException $e ) {
error_log($e -> getMessage());
if($e->getCode()==23000){
echo '<span >The phone number is already exist.</span>';
$exist = "yes";
}
}
if ($exist == "no") {
echo '<span >Thanks this person is added to the database</span>';
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430034.html
上一篇:將kubernetes與helm一起使用,并正確使用bitnami提供我的預定義用戶和密碼
下一篇:無法從本地資料陣列中找到影像路徑
