이전에 SQL Server 데이터베이스와 MySQL 데이터베이스에 연결하기 위해 PDO를 사용하는 데이터베이스 클래스를 작성했습니다. 그것은 항상 MySQL 데이터베이스에서 사용할 때 의문점을 대체했지만 SQL Server 데이터베이스의 경우 기본적으로 수동으로 물음표를 대체하는 작업을 만들어야했습니다. 여기에 대한 코드가 있습니다.PHP PDO SQL Server Select 문이 물음표를 대체하지 않음
if($this->getPDODriver() == 'odbc' && !empty($values_a) && substr_count($query_s, "?") > 0) {
$query_s = preg_replace(array_fill(0, substr_count($query_s, "?"), '/\?/'), $values_a, $query_s, 1);
$values_a = NULL;
}
지금, 나는이 완전히 물음표와 PDO의 목적을 패배 이해하지만 나를 위해 잘 작동하고있다. 그래도 지금하고 싶은 것은 물음표가 처음부터 대체되지 않는 이유를 찾아서이 해결 방법을 제거하는 것입니다.
나는 다음과 같은
쿼리 내가 그것을 준비로 이동합니다,하지만 난 쿼리 결과를 표시 할 때, 그것은 빈 배열 때 모습입니다SELECT * FROM database WHERE value = ?
같은 select 문이있는 경우.
이 클래스는 MySQL에서 잘 작동하고 있으며 위의 해결 방법으로도 잘 작동하고 있음을 기억하십시오. 그래서 물음표와 관련이 있다는 것을 압니다.