我正在尝试将$stmt -> fetch()
生成的结果绑定到数组中。一个糟糕的解决方案是我把它放在while循环中并从那里得到数组的结果。我问这个问题的唯一原因是因为我不能在PHP 5.3中使用mysqli_result::fetch_array() or mysqli_result::fetch_assoc(). , get_result()
而我的服务器不支持它。请告诉我有没有更好的方法来使用get_result()
我试过这个但到目前为止没有运气。
$stmt->execute();
/* Bind results */
$stmt -> bind_result($abc);
/* Fetch the value */
$row = $stmt -> fetch();
$row1=$row;
答案 0 :(得分:-1)
我正在使用此备用代码(因为我无法使用get_result
),我在此处找到了这些代码:https://stackoverflow.com/a/8882407/1930721
<?php
$stmt = $db->prepare( ' YOUR SQL QUERY ' ) ); /* edit to your needs */
$stmt->bind_param( ... ); /* edit to your needs */
$stmt->execute();
$meta = $stmt->result_metadata();
$fields = $result = array();
while ($field = $meta->fetch_field()) {
$var = $field->name;
$$var = null;
$fields[$var] = &$$var;
}
call_user_func_array(array($stmt,'bind_result'),$fields);
$i = 0;
while ($stmt->fetch()) {
$result[$i] = array();
foreach($fields as $k => $v)
$result[$i][$k] = $v;
$i++;
}
?>