Получение данных поля PHP Prepared Statement - PullRequest
0 голосов
/ 10 сентября 2011

Я использую расширение Mysqli и PHP Prepared Statement SELECT; Я не знаю, сколько у меня полей в SELECT, пока я не выполню

$stmt->execute();
$fieldcnt = $stmt->field_count;

Потому что это,У меня проблемы с выполнением

$stmt->bind_result(list of parms);

А именно, так как я не знаю, сколько полей было возвращено, я не знаю, как составить «список параметров».

Итак, мне нужен совет о том, как получить доступ к возвращенным полям;

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Не используйте bind_result, а используйте fetch_assoc().

Это вернет связанный массив для каждой строки:

while ($row = $stmt->fech_assoc()) {
    print_r($row);
}
0 голосов
/ 10 сентября 2011

Вы можете использовать call_user_func_array() для выполнения этой задачи - если вам абсолютно необходимо использовать bind_result().

// create an array the size of the number of parameters
$params = array_fill(0, $fieldcnt, null);

// call bind_result, resulting in every column of the result to be
// bound to a value in $params
call_user_func_array(array($stmt, 'bind_result'), $params);

// take a look at all the params
print_r($params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...