직원의 테이블에서 전자 메일은 고유 한 필드입니다. 새 직원을 삽입 할 때 전자 메일의 존재 여부를 확인합니다. 이미 존재하는 경우 오류 메시지가 표시됩니다.PHP MYSQL UPDATING 할 때 레코드가 이미 존재하는지 확인하는 방법?
$selectquery ="SELECT * FROM employee WHERE empemail='$empemail'";
$selectresult=mysql_query($selectquery) or die("query fout " . mysql_error());
if(mysql_num_rows($selectresult)==1)
{
$errormsgnewemployee = '<p id=notification>The email you entered already exists.</p>';
}
필드를 업데이트 할 때 어떻게해야합니까? 왜냐하면 나는 그의 이메일을 변경하지 않고 직원 데이터를 업데이트하면 전자 메일이 이미 있기 때문에 내게 알려주지 않기 때문입니다. 내가 생각할 수있는 것은 먼저 업데이트하고, 2 레코드가 있는지 확인하고, 2 레코드가 있으면 이전과 같이 다시 업데이트하는 것입니다.
좋은 접근 방법입니까 아니면 더 좋은 해결책입니까?
if (mysql_error())
{
$errormsgnewemployee = '<p id=notification>Update failed. Please check if the email you entered already exists.</p>';
}
때문에 그것이 아니라면, 왜 다른 사용자가 오류를했을 :
편집
내 자신의 솔루션은 테이블이 테이블에 unique index
을 갖는 쿼리 오류를 사용하여 업데이트하는 것입니다 유일하고 독특한 분야인가요? 다른 모든 경우에는 업데이트가 성공합니다.
'$ action = UPDATE' 또는 'INSERT' 여부에 관계없이 양식에 매개 변수를 전달하지 않는 이유는 무엇입니까? – Touki
그 문제는 Touki, 그것은 데이터베이스 오류가 아니라 내 자신의 텍스트를 반환하지 않고 업데이트 문제에 대한 점검을 작성하는 방법입니다. 오류 번호를 잡아 내고 문법을 찾으면서 해결책을 찾으려고합니다. –
** 앞으로의 PHP ** 버전은 ** mysql_' 계열의 기능을 더 이상 지원하지 않습니다. 이제 [PDO로 전환] (http://php.net/book.pdo) 또는 [mysqli] (http://php.net/book.mysqli)에 좋은 시간이 될 것입니다. – Charles