모든 것이 내 코드에서 작동하지만 동일한 전자 메일을 가진 여러 사용자를 만들지 만 사용자를 만들면 이미 일부 솔루션을 검색하려고했습니다. 그리고 내 코드에 넣어하지만 여전히 그것을 작동하게 할 수 없으며 어떻게 SQLSTATE [23000]를 만들 수 있습니까? 무결성 제약 조건 위반 : "오류 전자 메일이 이미 존재합니다"로 변경됩니까? 그것은 가능한가?SQLSTATE [23000]을 처리하는 방법 : 무결성 제약 조건 위반 : 1062
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>
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();
}
}
?>
가있는 경우 오류 메시지를 표시하려면 PHP의 새로운 기능 데이터베이스에서 PDO를 사용하고 있습니다. 어쨌든 도움과 도움을 주셔서 감사합니다. ase 내가 당신의 코드를 붙여 넣거나 복사 할 수 있는지 알려주십시오 :)
PDO는 좋은 것입니다. –
PDO는 확실히 좋은 것입니다. 당신이 누락 된 부분은 아마도 유일한 색인 일 것입니다. – e4c5
위에서 언급했듯이 전자 메일 필드에서도 고유 색인이 누락되었을 가능성이 큽니다. 고유 색인을 사용하면 중복 값을 삽입하려고하면 자동으로 오류가 발생합니다 고유 색인에. 중복을 확인하는 한 가지 방법은 삽입하기 전에 삽입하고자하는 이메일을 검색하기 위해서입니다. – Epodax