bind php,PHP – bind_result到数组
我正在為一個返回多個結果的查詢使用一個預準備語句,我想在一個數組中使用它.但是bind_result不能用于數組,所以我就是這樣做的:
$read_items = $db->stmt_init();
$read_items->prepare("SELECT item_id, item_name FROM items");
$read_items->execute();
$read_items->bind_result($var1, $var2);
while ($read_items->fetch()) {
$item_id[] = $var1;
$item_name[] = $var2;
}
是否有更清晰/更好/更優雅的方式將結果放入$item_id和$item_name數組?
從上面可以看出,我使用$var1和$var2就像“中間人” – 并且不斷感覺必須有更好的方法.
謝謝.
解決方法:
我不能相信它,但PHP manual有一個很好的解決方案(逐字粘貼):
// blah blah...
call_user_func_array(array($mysqli_stmt_object, "bind_result"), $byref_array_for_fields);
// returns a copy of a value
$copy = create_function('$a', 'return $a;');
$results = array();
while ($mysqli_stmt_object->fetch()) {
// array_map will preserve keys when done here and this way
$results[] = array_map($copy, $byref_array_for_fields);
}
標簽:php,mysql,prepared-statement
來源: https://codeday.me/bug/20190704/1380392.html
總結
以上是生活随笔為你收集整理的bind php,PHP – bind_result到数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 新建用户、用户组 以及为新用
- 下一篇: php柱形图 数据sql,ThinkPH