반응형
전달 된 사용자 이름이 데이터베이스의 users
테이블에 있는지 확인하기 위해 함수를 설정하고 있습니다. 이를 위해 다음 코드를 사용하고 있습니다.
function usernameCheck($username) {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$stmt = $con->prepare("SELECT username FROM users WHERE username = ':name'");
$stmt->bindParam(':name', $username);
$stmt->execute();
if($stmt->rowCount() > 0){
echo "exists!";
} else {
echo "non existant";
}
}
그러나 $ username
으로 무엇을 설정해도 exists!
를 되돌릴 수 없습니다. userID
와 같은 추가 열을 확인하기 위해 변경하려고 시도했지만 여전히 작동하지 않습니다. 내 구문이 정확하다고 생각하지만 PDO를 처음 사용하므로 수정하기 쉬운 것이 누락되었을 수 있습니다.
감사합니다.
해결 방법
탈출이 필요하지 않습니다.
$stmt = $con->prepare("SELECT username FROM users WHERE username = :name");
따옴표없이 : name
을 작성해야합니다. PDO 라이브러리는 이미 이스케이프를 수행합니다.
참조 페이지 https://stackoverflow.com/questions/12789953
반응형
'MySql' 카테고리의 다른 글
MySQL PHP에서 SQL 쿼리를 더 읽기 쉽게 만드는 방법은 무엇입니까? (0) | 2021.01.25 |
---|---|
MySQL 하나의 SQL 쿼리로 여러 카운트를 얻는 방법은 무엇입니까? (0) | 2021.01.25 |
MySQL 소문자로 MySQL 자동 변환 (0) | 2021.01.25 |
MySQL 테이블의 열 크기를 어떻게 수정할 수 있습니까? (0) | 2021.01.25 |
MySQL-FROM 절에서 하위 쿼리를 사용하여 뷰 생성 (0) | 2021.01.25 |
댓글