등록 당시, 내가 거기에 필드를 확인하고 username
, email
,phonenumber
세 가지 쿼리로. 스 니펫은 다음과 같습니다.
$query = "SELECT *
FROM
users
WHERE username='$userName'";
$result = mysql_query($query, $this->con);
$count_username = mysql_num_rows($result);
if($count_username <= 0){
$query = "";$result = "";
$query = "SELECT *
FROM
users
WHERE email='$email' ";
$result = mysql_query($query, $this->con);
$count_email = mysql_num_rows($result);
}
if($count_username <= 0 && $count_email <= 0){
$query = "";$result = "";
$query = "SELECT *
FROM
users
WHERE phone_number='$phone'";
$result = mysql_query($query, $this->con);
$count_phone = mysql_num_rows($result);
}
단일 쿼리로이를 수행하는 방법이 있습니까, 아니면이 코드를 최적화하는 다른 방법이 있습니까 ??? mysql 확장을 사용해서 죄송합니다.
단일 쿼리를 사용하는 경우 :
$query = "SELECT * FROM users WHERE username='$userName' && email='$email' && phone_number='$phone'";
다른 오류를 표시 할 수 없습니다.
다음과 같은 오류를 표시하고 싶지 않습니다.
username/phone/exists exists
다음과 같이 할 수 있습니다.
SELECT CASE WHEN username = '$userName' THEN 'username exists'
WHEN email = '$email' THEN 'email exists'
ELSE 'phone exists'
END Result
FROM users
WHERE username = '$userName'
OR email = '$email'
OR phone_number = '$phone'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다