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

pg_query_paramsはエラーを返します:バインドメッセージは2つのパラメーターを提供しますが、プリペアドステートメントには1つのパラメーターが必要です

    SQLでは、文字列リテラルに一重引用符が使用されます。つまり、これは次のことを意味します:

    '$2'
    

    $の文字を含む単なる文字列です および2 プレースホルダーではなく。プレースホルダーが必要な場合は、引用符を省略する必要があります:

    $Query = pg_query_params($db, '...password=(crypt($2,password))...', array(33,'thepassword'));
    

    これにより、文字列リテラルではなくプレースホルダーが得られます。




    1. 同一のプロパティを持つタイムゾーン名は、タイムスタンプに適用すると異なる結果になります

    2. このコードはSQLインジェクションを防ぎますか?

    3. ORDER BY FIELD、与えられたフィールドの順序がついに来る

    4. MySQLでCASTを使用すると構文エラーが発生するのはなぜですか?