2017-12-08 1 views
0

SQL stmt에 대한 인수로 PHP 배열을 바인딩하려고합니다. 나는 auraSQL 확장 PDO를 사용하고 있으므로 이렇게 보입니다 :Postgres IN 절에 대한 매개 변수로 PHP 배열 사용

$php_array = ['first', 'second', 'third'] 
$db->fetchColumn("SELECT * FROM my_table WHERE column IN (:php_array), ['php_array' => $php_array])" 

이렇게 할 방법이 있습니까? 나는 방법을 알 수 없다. $php_array을 쉼표로 구분 된 문자열로 추가하려고했지만 따옴표로 묶었지만 작동하지 않습니다.

편집 :

$db->fetchColumn("SELECT * FROM my_table WHERE column IN (".$db->quote($php_array).")"; 
+0

의 사용 가능한 복제 [연산자 SQL과 PHP 배열을 사용하는 방법?] (https://stackoverflow.com/questions/9618277/how-to-use-php-array-with-sql- in-operator) –

+0

사용법에 대해서는 약간 혼란 스럽습니다. $ db는 ExtendedPdo의 객체입니까? 이 경우 나는 당신이 질의를하고 준비된 문장을 얻고 나서'fetchColumn'을 호출 할 필요가 있다고 믿는다. 'fetchColumn' 자체에 대한 래퍼가 없기 때문에 실패 할 것으로 예상됩니다. https://github.com/auraphp/Aura.Sql/blob/3.x/src/AbstractExtendedPdo.php 및 https://github.com/auraphp/Aura.Sql/blob/3.x/src/ExtendedPdo를 참조하십시오. .php –

답변

관련 문제