데이터베이스가 있고 user_ids 배열을 전달하여 동일한 쿼리에서 여러 사용자의 이름을 가져 오려고합니다. 슬프게도, 나는 이것을 작동시킬 수 없다. 매개 변수가 배열입니다mysql 쿼리에 매개 변수로 여러 값 전달하기
$stmt = $this->db->prepare('SELECT name FROM users WHERE user_id=?');
:
$stmt->bind_param('i', $user_ids);
user_ids
배열이 {1, 2}
과 같은
나는이 쿼리가 있습니다. 기본적으로 데이터베이스를 한 번 이상 쿼리하지 않고도 사용자 1과 사용자 2의 이름을 얻고 싶습니다. 이 코드가있을 때
, 나는뿐만 아니라 다른 사람, 첫 번째 사용자의 이름을 얻을 수가 :
$stmt->bind_result($name);
while ($stmt->fetch()) {
array_push($names, $name);
}
내가 어떻게 $names = array();
같은 $names
을 수 초기화 한 점을 명심 나는 이것을 해결합니까?
도움이 될 것입니다.
처럼 이것을 사용할 수 있습니다'$ stmt-> ($ user_ids)을 실행;' – naomik
'$ stmt-> execute ($ user_ids)'매개 변수를 바인딩 할 때 **이 오류가 발생합니다 ** mysqli_stmt :: execute()는 정확히 0 개의 매개 변수를 필요로합니다. ** – Aleksander
@Aleplay, 먼저 접근 방식을 시도하고 echo $ inQuery , 넌 봐야 해 "?,?" 2 개의 매개 변수가 예상됨을 선언합니다. – sdespont