gpt4 book ai didi

php - 在 Mysqli 准备语句中返回一个数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:28 25 4
gpt4 key购买 nike

我的数据库类中有函数返回来自特定国家(例如西类牙)的人的 id。但出于某种原因,我只得到一个值,但同一个国家的人很多。这是函数:

Class DbAb {
private $db;

public function sameCountry($country) {

$query = "SELECT id FROM users WHERE country = ? ";
$stmt = $this->db->prepare($query);
$stmt->bind_param("s", $country);
if ($stmt->execute()) {

$stmt->bind_result($sameCountry);
$stmt->fetch();

return $sameCountry;
}
return false;
}



}

$sameC = new DbAb();

$samePeople = $sameC->samecountry("spain");

print_r($samePeople);

有谁知道如何返回结果数组?我试图将变量定义为数组,但仍然不起作用...

最佳答案

bind_result($var) + fetch() 将一行插入到 $var 变量中。

如果你想从你的方法中返回一个 id 数组,你需要先创建一个空数组,然后为每一行插入它。

例如。替换这个:

$stmt->bind_result($sameCountry);
$stmt->fetch();
return $sameCountry;

用这个:

$arr = array();
$stmt->bind_result($id);
while ( $stmt->fetch() ) {
$arr[] = $id;
}
return $arr;

关于php - 在 Mysqli 准备语句中返回一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9528172/

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