簡體   English   中英

無法通過引用傳遞參數PHP准備語句問題

[英]Cannot pass parameter by reference PHP prepared statement problem

我正在嘗試使用准備好的語句進行查詢,以檢索一些信息,並使用從第一個查詢接收到的信息進行另一個查詢,但是我收到錯誤:

Cannot pass parameter by reference

有沒有解決的辦法?

這是我的代碼:

$DBH = getDBH();
$stmt = $DBH->prepare("SELECT small FROM info WHERE user = ?");
$stmt->bind_param("s",$userid);
$stmt->execute();
$stmt->bind_result($small);
$stmt->fetch();
$stmt->close();
$stmt = $DBH->prepare("INSERT INTO method(small) VALUES(?)");
$stmt->bind_param("s",$small);
$stmt->execute();
$stmt->close();

我想我可以通過添加來使它起作用

return $small;

$stmt->fetch();

盡管我還沒有時間用任何實際值測試它,但是我沒有收到任何錯誤,但是我不確定代碼是否會停在

return $small;

或者,如果一切繼續執行,我也許可以將其重寫為一個函數並返回值。

編輯:沒關系下面! 我在想PDO


嘗試更改以下幾行:

$stmt = $DBH->prepare("SELECT small FROM info WHERE user = :s");

$stmt = $DBH->prepare("INSERT INTO method(small) VALUES(:s)");

這是因為您試圖綁定不存在的參數。 如果您想使用問號,則必須以類似的方式找到它,如果我沒有記錯的話。

$stmt->bind_param(0,$userid);

暫無
暫無

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

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