簡體   English   中英

在Mysqli准備語句中返回一個數組

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM