国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

未捕獲的 ValueError 錯誤:mysqli_stmt::execute():參數(shù) #1($params)必須是一個列表數(shù)組
P粉502608799
P粉502608799 2024-02-03 17:09:57
0
1
533

我試著透過這兩個查詢在我的資料庫中插入準備好的語句多個值,這兩個查詢都發(fā)生故障,回傳其中一個

未捕獲錯誤:呼叫未定義的方法 mysqli_stmt::bindValue()

第一個程式碼或

未捕獲的 ValueError:mysqli_stmt::execute():參數(shù) #1 ($params) 必須是列表數(shù)組

第二個。當我輸入 list 而不是 array 時,它顯示

語法錯誤

注意所有變數(shù)、表格和欄位名稱都是簡化的變體

我看過很多類似的問題,但沒有一個能回答我的問題。甚至不是這個「重複」的那個。

有人有解決方案,或是替代方案嗎?

這是兩個程式碼:

if(isset($_POST['ID'], $_POST['atr1'])){

        $sql = $db -> prepare("INSERT INTO some_table (ID, atr_place) VALUES (':fir', ':sec')");
        
        $sql -> bindValue(':fir', $_POST['ID'],);
        $sql -> bindValue(':sec', $_POST['atr1'],);
        $sql -> execute();
}
$sql = $db -> prepare("INSERT INTO some_table (ID, atr_place) VALUES (:fir, :sec)");
$sql -> execute(array(
    ':fir' => $_POST['ID'],
    ':sec' => $_POST['atr1'],
));

P粉502608799
P粉502608799

全部回覆(1)
P粉373596828

正如錯誤訊息所表明的那樣,您正在使用 mysqli a> 與您的資料庫進行通訊的程式庫。但是,您的程式碼似乎是基於使用 PDO 的範例,其中是一個完全不同的圖書館。雖然表面上一些函數(shù)名稱相似,但實際上它們具有不同的 API 和要求。

例如,一些 API 差異是:

  • mysqli 不支援命名參數(shù),僅支援使用 ? 指定的匿名佔位符
  • PDO有bindParam和bindValue函數(shù),而mysqli有bind_param
  • 在 PHP 8.1 之前,mysqli 不接受直接透過execute() 函數(shù)提供的參數(shù)清單。

此程式碼應該與 mysqli 一起使用:

如果您有 PHP 8.1 或更高版本:

$sql = $db->prepare("INSERT INTO some_table (ID, atr_place) VALUES (?, ?)");
$sql->execute([$_POST['ID'], $_POST['atr1']]);

否則:

$sql = $db->prepare("INSERT INTO some_table (ID, atr_place) VALUES (?, ?)");
$sql->bind_param("ss", $_POST['ID'], $_POST['atr1']);
$sql->execute();
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板