Sok*_*kar 4 php arrays mysqli prepared-statement fetch
我在我的数据库类中有一个函数,它返回来自特定国家(如西班牙)的人的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);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何返回一系列结果?我试图将变量定义为数组,但仍然无效...
bind_result($ var)+ fetch()在$ var变量中插入一行.
如果要从方法返回一组id,则需要先创建一个空数组,然后为每一行插入一个空数组.
例如.替换这个:
$stmt->bind_result($sameCountry);
$stmt->fetch();
return $sameCountry;
Run Code Online (Sandbox Code Playgroud)
有了这个:
$arr = array();
$stmt->bind_result($id);
while ( $stmt->fetch() ) {
$arr[] = $id;
}
return $arr;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17053 次 |
| 最近记录: |