加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何更改默认的错误消息代码

发布时间:2020-12-13 17:01:44 所属栏目:PHP教程 来源:网络整理
导读:我想更改错误代码SQLSTATE [23000]:完整性约束违规:1062重复输入“xx@yahoo.com”,将关键“电子邮件”消息转换为“已在使用中的错误电子邮件” create.php ?phprequire_once 'dbconfig.php';if ($_POST) { $fname = $_POST['fname']; $lname = $_POST['lna
我想更改错误代码SQLSTATE [23000]:完整性约束违规:1062重复输入“xx@yahoo.com”,将关键“电子邮件”消息转换为“已在使用中的错误电子邮件”

create.php

<?php
require_once 'dbconfig.php';

if ($_POST) {

    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $contactnum = $_POST['contactnum'];
    $email = $_POST['email'];
    $pass = $_POST['pass'];
    $lang = $_POST['lang'];

    try {

        $stmt = $db_con->prepare("INSERT INTO tbluser(fname,lname,contactnum,email,pass,lang) VALUES(:ufname,:ulname,:ucontact,:uemail,:upass,:ulang)");
        $stmt->bindParam(":ufname",$fname);
        $stmt->bindParam(":ulname",$lname);
        $stmt->bindParam(":ucontact",$contactnum);
        $stmt->bindParam(":uemail",$email);
        $stmt->bindParam(":upass",$pass);
        $stmt->bindParam(":ulang",$lang);

        if ($stmt->execute()) {
            echo "Successfully Added";
        } else {
            echo "Query Problem";
        }

    } catch(PDOException $e) {
        echo $e->getMessage();
    }
}
?>

我试着添加这样的东西

if (mysql_errno() == 1062) {

    echo"error email already in use!";
}

但无法使其发挥作用.谢谢你的帮助,我还是php的新手.有人可以告诉我如何使用PDO吗?

addform.php

<style type="text/css">
    #dis{
        display:none;
    }
</style>

<div id="dis">
    <!-- here message will be displayed -->
</div>

<form method='post' id='emp-SaveForm' action="#">

    <table class='table table-bordered'>

        <tr>
            <td>First Name</td>
            <td><input type='text' name='fname' class='form-control'  required /></td>
        </tr>

        <tr>
            <td>Last Name</td>
            <td><input type='text' name='lname' class='form-control'  required></td>
        </tr>

        <tr>
            <td>Contact Number</td>
            <td><input type='number' name='contactnum' class='form-control'  required></td>
        </tr>

         <tr>
            <td>Email</td>
            <td><input type='email' name='email' class='form-control' required /></td>
        </tr>

         <tr>
            <td>Password</td>
            <td><input type="password" name='pass' class='form-control'  required /></td>
        </tr>

         <tr>
            <td>Language</td>
            <td><input type='text' name='lang' class='form-control'  required /></td>
        </tr> 
        <tr>
            <td colspan="2">
            <button type="submit" class="btn btn-primary" name="btn-save" id="btn-save">
            <span class="glyphicon glyphicon-plus"></span> Save this User
            </button>  
            </td>
        </tr>

    </table>
</form>

解决方法

mysql_errno是已弃用的mysql扩展的一部分 – 您正在使用PDO,因此您还需要使用它来检查错误:

if ($stmt->execute()) {
    echo "Successfully Added";
} else {
    if ($stmt->errorCode() == 1062) {
        # Here ^
        echo "error email already in use!";
    } else {
        echo "some other problem...";
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读