我正在使用PHP开发一个新项目,我在PHP上很新,来自Qt,mysqli似乎非常复杂,我有一个准备好的查询,它在stmt->期间正确返回一些数组。 fetch()但是我无法检索那些数组,所以我可以在代码中将它们用作变量。
这是一段代码:
$stmt = $mysqli->prepare("SELECT nombre FROM platos where menuid=? OR menuid=? OR menuid=? OR menuid=?");
$stmt->bind_param('iiii', intval($opcion1id), intval($opcion2id), intval($opcion3id), intval($opcion4id));
$stmt->execute();
function stmt_bind_assoc (&$stmt, &$out) {
$data = mysqli_stmt_result_metadata($stmt);
$fields = array();
$out = array();
$fields[0] = $stmt;
$count = 1;
while($field = mysqli_fetch_field($data)) {
$fields[$count] = &$out[$field->name];
$count++;
}
call_user_func_array(mysqli_stmt_bind_result, $fields);
}
$stmt->store_result();
$resultrow = array();
stmt_bind_assoc($stmt, $resultrow);
$stmt->store_result();
while($stmt->fetch()){
var_dump($resultrow);
}
$stmt->close();
数组$ resultrow的var_dump()是这样的:
array(1) {
["nombre"]=>
&string(14) "Carne Estofada"
}
array(1) {
["nombre"]=>
&string(15) "Merluza Plancha"
}
array(1) {
["nombre"]=>
&string(12) "Pasta Tomate"
}
array(1) {
["nombre"]=>
&string(15) "Verdura Hervida"
}
我无法在一段时间内设法访问这些字符串,我一直在寻找文档,但我似乎无法解决问题。
答案 0 :(得分:0)
经过一些调试后,我发现必须如何完成调试,万一有人需要它。 在这部分:
$stmt->bind_result($nombrequesito);
我删除了$ resultrow数组和bind_assoc语句,然后添加了
$arrayfinal = array();
while($stmt->fetch())
{
$arrayfinal[] = $nombrequesito;
}
最后在stmt-> fetch()期间,我创建了一个空白数组,并在所有变量$ nombrequesito中添加,因此只要有一行要获取,语句就会运行。循环结束如下:。
{{1}}
输出是一个包含所有变量的顺序数组。希望这会有所帮助。