2014-12-14 2 views
1

У меня есть запрос, как это:Подготовленные заявления: Fetch как массив

$stmt = $cxn->prepare('SELECT post_id, user_id, content, datetime, total_comments, total_likes FROM posts WHERE user_id = ?'); 
$stmt->bind_param('i', $user_id); 
$stmt->execute(); 
$stmt->bind_result($post_id, $user_id, $content, $datetime, $total_comments, $total_likes); 
$stmt->fetch(); 
$stmt->close(); 

Я хотел бы, чтобы вместо того, чтобы просто иметь результаты положить непосредственно в массив. Как я могу изменить свой код, чтобы отразить это (PHP и MySQLi)?

Спасибо.

+0

Не могли бы вы указать, какой язык это? – Jonathan

+0

@Jonathan Это PHP. –

ответ

0

Для нормального массива (индексируются по номерам), вы можете использовать $stmt->fetch_array() Это будет выглядеть следующим образом: [ ['x', 'y'], ['a', 'b'] ]

Когда вам нужно ассоциативные массивы, это будет делать: $stmt->fetch_assoc() и это будет выглядеть это: [ ['field1' => 'x', 'field2' => 'y'], ['field1' => 'a', 'field2' => 'b'] ]

+0

'Предупреждение: mysqli_stmt :: fetch() ожидает точно 0 параметров, 1 задано' –

+1

О, я думал, что вы используете PDO. Сожалею. Я отвечу на MySQLi – Xesau

+1

Я получаю «Неустранимая ошибка: вызов неопределенного метода mysqli_stmt :: fetch_array()' now. –

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