gpt4 book ai didi

PHP bind_result 并获取多行(数组)

转载 作者:行者123 更新时间:2023-11-29 00:08:20 25 4
gpt4 key购买 nike

我是 php 和 mysql 的新手。我试图从 php 创建一个 rest api,因为我的服务器没有安装 mysqlnd,我必须使用 bind_resultfetch

$stmt = $this->conn->prepare("SELECT * from d WHERE d.id = ?");
$stmt->bind_param("i", 1);
if($stmt->execute()){
$stmt->bind_result($a, $b, $c);
$detail = array();
while($stmt->fetch()){

$detail["a"] = $a;
$detail["b"] = $b;
$detail["c"] = $c;
}

$stmt->close();
return $response;
} else {
return NULL;
}

以上代码有效,但一次只能返回 1 行信息。

例如如果语句返回:

a    b    c
1 test test
1 test1 test1

它只返回

a: 1
b: test1
c: test1

它应该在哪里:

{
a: 1
b: test
c: test
},
{
a: 1
b: test1
c: test1
}

最佳答案

你正在覆盖它们,你可以改为这样做:

$detail = array();  
while($stmt->fetch())
{
$temp = array():
$temp["a"] = $a;
$temp["b"] = $b;
$temp["c"] = $c;
$detail[] = $temp;
}

或者直接附加另一个维度:

$detail = array();  
while($stmt->fetch()) {
$detail[] = array('a' => $a, 'b' => $b, 'c' => $c);
// ^ add another dimension
}

关于PHP bind_result 并获取多行(数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com