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

PDO ::ATTR_EMULATE_PREPARESをFALSEに変更し、無効なパラメーター番号エラーを取得しました

    このエラーは、プレースホルダーの繰り返しが原因です。 。同じパラメータをプレースホルダーにバインドしている場合でも、各プレースホルダーは一意である必要があります。

    AND ((type='employer' AND owner_id=:02)
    OR (type='employee' AND winner_id=:02))
    

    する必要があります:

    AND ((type='employer' AND owner_id=:02)
    OR (type='employee' AND winner_id=:another02))
    

    そしてそれにバインドします:

    $dbStatement->bindParam(':01',$Type);
    $dbStatement->bindParam(':02',$UserID);
    $dbStatement->bindParam(':another02',$UserID);
    $dbStatement->bindParam(':03',$Most);
    



    1. 高度なMySQL参加。クエリの高速化

    2. SelectQueryにサブクエリを挿入します

    3. 「影響を受けた行はありません」と行が正常に更新されたものを区別します-同じ値に(MySQLとPHP)

    4. SQL Developerでストアドプロシージャを実行しますか?