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