0
그냥 파일을 구문 분석하고 쿼리를 작성하지만 $row
만 하나를 결과로 반환합니다. 여기서 보류는 내가 작성한 쿼리 당 결과를 얻습니다.PHP : 간단한 PDO 루프가 작동하지 않습니까?
while (!feof($f)) {
$contents = '';
$contents = fgets($f);
$p = explode(" ", $contents);
$req = "SELECT id_product from ps_product WHERE `reference`='".$p[1]."'";
$rs = $dbh->prepare($req);
$rs->execute();
$row = $rs->fetch();
print_r($row);
}
난 단지 마지막에 하나 개의 결과를 얻고있다
내 디버깅이 같다 :
M0852
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0852 ')
M0850
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0850 ')
M0850
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0850 ')
M0851
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0851 ')
M0851
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0851 ')
M0855
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0855 ')
M0849
PDOStatement Object ([queryString] => SELECT id_product from ps_product WHERE `reference`='M0849 ')
배열 ([id_product] => 2662> 2662 [0])
쿼리 당 결과가 하나 인 배열을 얻으 려 할 때.
이 그것을 할 잘못된 방법을 밖으로 제거합니다. 문자열 연결을 사용하면 준비된 명령문의 유용성을 완전히 무시할 수 있습니다. – GrumpyCrouton
@ GrumpyCrouton 내가 이해하지만 "conventional"bindings와 동일한 결과를 만들었습니다. – direxit
@ chris85 각 페치는 하나의 행과 그 점을 반환하지 않습니다. – direxit