検索

ホームページ  >  に質問  >  本文

キャッチされない値エラー: mysqli_stmt::execute(): パラメーター #1 ($params) はリストの配列である必要があります

これら 2 つのクエリを介して準備されたステートメントを使用してデータベースに複数の値を挿入しようとしていますが、両方のクエリが失敗し、

のいずれかを返します。

未捕捉エラー: 未定義メソッド mysqli_stmt::bindValue() の呼び出し

最初のコードまたは

キャッチされない値エラー: mysqli_stmt::execute(): パラメーター #1 ($params) リスト配列である必要があります

###二番目。

array の代わりに list と入力すると、 と表示されます

文法上の誤り

すべての変数、テーブル、および列の名前は簡略化されたバリエーションです

同様の質問をたくさん見ましたが、どれも私の質問に答えられませんでした。この「繰り返し」でもありません。

解決策や代替案を持っている人はいますか?

これらは 2 つのコードです:

リーリー ああああ

P粉502608799P粉502608799381日前475

全員に返信(1)返信します

  • P粉373596828

    P粉3735968282024-02-04 14:00:15

    エラー メッセージが示すように、データベースとの通信に mysqli ライブラリを使用しています。ただし、コードは、まったく異なるライブラリである PDO を使用した例に基づいているようです。一部の関数は表面的に似た名前を持っていますが、実際には異なる API と要件を持っています。

    たとえば、いくつかの API の違いは次のとおりです:

    • mysqli は名前付きパラメータをサポートせず、?
    • を使用して指定された匿名プレースホルダのみをサポートします。
    • PDO には、bindParam 関数と bindingValue 関数があり、mysqli には、bind_param 関数があります。
    • PHP 8.1 より前では、mysqli は、execute() 関数を通じて直接提供されるパラメータ リストを受け入れませんでした。
    このコードは mysqli で使用する必要があります:

    PHP 8.1 以降を使用している場合:

    リーリー ###さもないと:### リーリー

    返事
    0
  • キャンセル返事