bindParam
또는 bindValue
방법을 사용 하여 진술을 준비 할 수 있습니다. $check->execute(array(':name' => $name));
특히 여러 값 / 변수를 바인딩하는 경우 작업을 수행하는 대신 첫눈에 더 명확하게 합니다.
아래에서 명확하고 읽기 쉬운 예를 확인하십시오.
$q = $db->prepare("SELECT id FROM table WHERE forename = :forename and surname = :surname LIMIT 1");
$q->bindValue(':forename', 'Joe');
$q->bindValue(':surname', 'Bloggs');
$q->execute();
if ($q->rowCount() > 0){
$check = $q->fetch(PDO::FETCH_ASSOC);
$row_id = $check['id'];
}
여러 행 이 예상되는 경우를 제거 LIMIT 1
하고 가져 오기 방법을 fetchAll
다음 으로 변경하십시오 .
$q = $db->prepare("SELECT id FROM table WHERE forename = :forename and surname = :surname");
$q->bindValue(':forename', 'Joe');
$q->bindValue(':surname', 'Bloggs');
$q->execute();
if ($q->rowCount() > 0){
$check = $q->fetchAll(PDO::FETCH_ASSOC);
$row_id = $check[1]['id'];
}