본문 바로가기
MySql

MySQL Php 고유 한 사용자 이름 보장

by 베이스 공부 2021. 1. 6.
반응형

등록 페이지가 있고 사용자 이름이 고유한지 확인하고 싶습니다. 나는 이미 여기에서 모든 솔루션을 시도했지만 아무것도 나를 위해 일하지 않습니다.

이것은 현재 내가 받고있는 오류입니다.

Warning:  mysqli_query() expects at least 2 parameters, 1 given 
in C:\xampp\htdocs\project\projectregistered.php on line 16
Query was empty

내 PHP는 다음과 같습니다.

 <?php
 $con=mysqli_connect("localhost","root","","test");
 // Check connection
 if (mysqli_connect_errno()) {
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

$username = $_POST['username'];  

echo $username;

$query = mysqli_query("SELECT * FROM projectuser WHERE username='$username'");

$result1 = mysql_query($query) or die (mysql_error().$query);    
$count = mysql_num_rows($result1);

if ($count>0) {
echo 'Sorry! This Username already exists!';
} else {
    $surname = $_POST['surname'];
    $sql = "INSERT INTO projectuser (firstname, surname, username, password, location)
            VALUES
            ('$_POST[firstname]', '".mysql_real_escape_string($surname)."', '$_POST[username]', '$_POST[password]', '$_POST[location]')";
}

if (!mysqli_query($con,$sql)) {
    die('Error: ' . mysqli_error($con));
}
echo "1 record added ".$sql;

mysqli_close($con);

?>

 

해결 방법

 

절차 적 접근 방식을 사용할 때 연결 핸들도 첫 번째 인수로 전달해야합니다. 그것은해야한다

mysqli_query($con, "SELECT * FROM projectuser WHERE username='$username'");

또한 DB 테이블에서 사용자 이름 열을 UNIQUE 로 만듭니다.

업데이트 :
방금 mysql _ mysqli _ 함수를 모두 사용하고 있다는 것을 깨달았습니다. 두 번째 것을 고수하는 것이 좋습니다. 따라서 코드는 다음과 같습니다.

$query = "SELECT * FROM projectuser WHERE username='$username'";
$result = mysqli_query($con, $query);
$count = mysqli_num_rows($result);


 

참조 페이지 https://stackoverflow.com/questions/15841792

 

 

반응형

댓글