我在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)并绑定您的参数。 –
感谢您的信息,不知道这一点。 –