반응형
    
    
    
  전달 된 사용자 이름이 데이터베이스의  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 | 
댓글