2017-01-31 1 views
0

У меня есть массив чисел. Я пытаюсь получить отдельных создателей из таблицы в базе данных mysql. Если я ввожу строку напрямую, я получаю данные, но если я использую этот метод для развязывания массива и bind_param, я получаю нулевые строки.PHP MySQL получает нулевые результаты, когда есть данные

$array = array('1','2','3','4','5','6','7'); 
$in_array = "'".implode("','", $array)."'"; 

$statement = $conn->prepare("select distinct creator from table where coll in (?);"); 
     $statement->bind_param('s', $in_array); 
     $statement->execute(); 
     $result = $statement->get_result(); 
     if ($result->num_rows > 0) { //do something } 
     else { echo "none found"; } 
+0

try: $ in_array = '".implode ("', '", $ array).'; – brotherperes

ответ

1

Вам нужно место для каждого элемента в списке, а не один для всего списка.

+0

Вы уверены? Это звучит неправильно для меня. – Strawberry

+1

@Strawberry - Это должно сработать. Причина, по которой один заполнитель не работает, заключается в том, что он будет рассматриваться как одна строка ''1,2,3,4,5, ...'' вместо нескольких значений. –

+0

@MagnusEriksson (Вопреки процедурным методам) Я думаю, вы должны связать и выполнить список в цикле. – Strawberry

Смежные вопросы