簡體   English   中英

Mysqli使用准備好的語句獲取數組

[英]Mysqli fetch array with prepared statement

我正在准備准備提高安全性的mysql查詢的過程,但是,當我嘗試獲取已准備好的語句的結果時遇到了問題。 我可以成功獲取一行數據,但是獲取數據數組卻沒有成功。 我所做的所有研究都提供了無法使用或過於復雜的示例。

我當前的代碼

if ($stmt = $dbc->prepare("SELECT city FROM users WHERE id = ? LIMIT 1")) {
$stmt->bind_param('i', $id);  // Bind id to parameter.
$stmt->execute();    // Execute the prepared query.
$stmt->store_result();

 // get variables from result.
$stmt->bind_result($city);
$stmt->fetch();
}

這是我當前的代碼,僅返回一個結果。

好吧,走着瞧,
首先,您將選擇查詢限制為1個結果,這就是為什么它僅返回1個結果的原因,
其次,您沒有使用while循環遍歷結果,請嘗試以下操作:

$stmt = $dbc->prepare("SELECT city FROM users WHERE id = ?");
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($city);
while($stmt->fetch()){
    echo $city;
}

但是請記住,由於ID可能是唯一的,因此您的查詢可能只會返回1個值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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