[英]returning an array in Mysqli prepared statement
我在我的数据库类中有一个函数,它返回来自特定国家(如西班牙)的人的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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.