PHP/PDO에서 다음 쿼리를 준비합니다.PhpMyAdmin과 PDO 간의 결과 쿼리의 차이점 PDO
SELECT
count(distinct(p.accid)) as aantal
FROM
winter_accommodaties_prijzen p
INNER JOIN winter_accommodaties a ON (a.id = p.accid)
INNER JOIN winter_dorpen d ON (d.id = a.did)
INNER JOIN winter_gebied g ON (g.id = d.gid)
INNER JOIN winter_accommodaties_types t ON (a.tid = t.id)
WHERE
g.lid IN(:lid0) AND
g.min_hoogte >= :hoogte AND
(g.pistes_groen+g.pistes_blauw+g.pistes_rood+g.pistes_zwart) >= :km AND
d.hoogte_dorp >= :hoogte_dorp AND
d.afstand_utrecht <= :afstand_utrecht AND
prijs < : max_prijs AND
p.persons >= :aantal_personen
은 그 때 나는이 쿼리에 다음과 같은 배열을 바인딩 : 97 (결과) :
Array
(
[:lid0] => 1
[:hoogte] => 500
[:km] => 50
[:hoogte_dorp] => 500
[:afstand_utrecht] => 2500
[:max_prijs] => 1200
[:aantal_personen] => 4
)
내가 'aantal'에 대한 결과로 얻을 PHP를 통해이 작업을 실행합니다. 위의 쿼리를 실행하여 모든 변수를 해당 값으로 바꾸면 PhpMyAdmin을 통해 결과를 얻습니다. mysql_query를 사용하여 PHP에서 이전 방식으로 동일한 쿼리를 실행하면 124 개의 결과도 얻습니다.
차이점이있는 PDO 쿼리에는 무엇이 누락 되었습니까? PDO를 연결 AL_ => 작성의 요청
UPDATE :
가$conn = new PDO(DB_DSN, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "See query above"
$query_pag_no = $conn->prepare($query); // the above query
$query_pag_no->execute($bind_array); // the above array
$aantal_resultaten = $query_pag_no->fetchColumn();
$ aantal_resultaten에서의 결과가 다음 97 (행)이다.
작성에서 쿼리 실행까지 사용중인 pdo 객체를 게시하는 것이 좋습니다. –
_actual_ 배열의 내용을'print_r()'하고 위에 게시하십시오. –
Michael & AL_, 위의 내용을 업데이트했습니다. – Ralf