PHP – bind_result到数组
发布时间:2020-12-13 16:12:34 所属栏目:PHP教程 来源:网络整理
导读:我正在为一个返回多个结果的查询使用一个预准备语句,我想在一个数组中使用它.但是bind_result不能用于数组,所以我就是这样做的: $read_items = $db-stmt_init();$read_items-prepare("SELECT item_id,item_name FROM items");$read_items-execute();$read_i
我正在为一个返回多个结果的查询使用一个预准备语句,我想在一个数组中使用它.但是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有一个很好的解决方案(逐字粘贴):
<?php // 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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |