[英]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.