我在php中創建了一個非常簡單的註冊表單,當用戶嘗試註冊時,會彈出一個帶有成功或失敗消息的JavaScript警報。SQL插入後的PHP異常處理
現在我想捕獲sql異常,以顯示用戶名或電子郵件是否已經在數據庫中感染而不是標準的失敗消息。
這是我到目前爲止的代碼:
if(isset($_POST['btn-signup']))
{
$uname = mysql_real_escape_string($_POST['uname']);
$email = mysql_real_escape_string($_POST['email']);
$upass = md5(mysql_real_escape_string($_POST['pass']));
if(mysql_query("INSERT INTO user(username,password,email) VALUES('$uname','$upass','$email')"))
{
?>
<script>alert('successfully registered ');</script>
<?php
}
else{
?>
<script>alert('error while registering you...');</script>
<?php
}
}
?>
我如何檢查電子郵件或用戶名在數據庫中已經excists?這兩個變量在數據庫中都是唯一的。
請不要使用'md5()'來輸入密碼,特別是如果它們沒有聲明的話。 –
**警告:**'mysql_ *'API已被棄用並從PHP7.0.0開始刪除。考慮使用['mysqli'](http://php.net/mysqli)或['pdo'](http://php.net/pdo)並綁定您的參數。 –
感謝您的信息,不知道這一點。 –