2013-08-24 2 views
1

Если у меня есть SELECT * FROM xxx, есть ли способ связать все полученные строки автоматически?Привязать все результаты автоматически

Так как это не так полезно, если я делаю *, но мне все равно нужно привязывать результаты вручную.

+1

Почему? Например, если я получаю строки «test1», «test2», тогда он должен получить bindet для $ test1 и $ test2, как если бы вы сделали это вручную. – Michael

+0

Я удалил свой комментарий, потому что я пропустил образец SQL Query –

+0

Btw, вы вводите в заблуждение параметры с результатами. –

ответ

2

У вас есть 2 варианта.

Если вам повезет, и ваши установки на PHP поддерживают get_result(), вы можете получить его, а затем использовать обычные mysqli_fetch_assoc() и т. Д.

Если нет - вы должны сделать некоторые магии из result_metadata(), call_user_func_array() и такие

+0

Спасибо, отлично работает. Почему вы сказали: «Если вам повезет?» Разве этот метод недоступен, если mysqli доступен? – Michael

+0

Это зависит, как я уже сказал, от установки PHP. http://stackoverflow.com/search?q=Mysqli+get_result для доказательства –

+0

Большое спасибо :) – Michael

0

Если вы не хотите связываться с отборное, эта опция также доступна для вас:

$Query = $db->prepare("SELECT * FROM TABLE"); 
$Query->execute(); 
$Results = $Query->get_result(); // This little gem here 
$Array = $Results->fetch_array(MYSQLI_ASSOC); 

Вместо того, чтобы использовать bind_result вы можете просто принести массив автоматически

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