sql >> データベース >  >> RDS >> Mysql

PDOは配列から文字列への変換エラーを実行します

    execute() メソッドは単一の配列を想定しています。ドキュメントから:

    array($id,$array)を使用 次のような多次元配列を渡すことになります:

    Array
    (
        [0] => 1
        [1] => Array
            (
                [0] => a
                [1] => b
                [2] => c
            )
    
    )
    

    これは確かにそれが期待するものではありません。挿入する値を含む1次元配列が必要です。

    この問題を修正するには、配列形式を変更する必要があります。次のように、配列の先頭にIDを追加します。

    $array = array(1, "a",  "b",  "c");
    

    ID変数が動的に生成される場合は、array_unshift()を使用して、手動で配列に追加できます。 機能:

    $id = "1";    
    $array = array("a",  "b",  "c");
    $array = array_unshift($array, $id);
    

    ...次に、execute()を変更します そのように電話してください:

    $statement1->execute($array);
    


    1. 複数の列にまたがる重複を見つけるにはどうすればよいですか?

    2. 最大値を表示し、残りを制限するためのページ付け

    3. SQLエラー:キーワード「ユーザー」の近くの構文が正しくありません

    4. PHPPDOプリペアドステートメントでのMySQL関数の使用