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

PDO-> query()とPDO-> exec()の違い

    理論上の違いはありますが、これらの関数はいずれも使用しないでください。したがって、心配する必要はありません。

    PDOを使用する唯一の理由は、プリペアドステートメントのサポートです。 、しかしこれらの関数のどれもそれを提供しません。したがって、使用しないでください。

    prepare()/execute()を使用します 代わりに、特に UPDATE、INSERT、DELETEステートメントの場合。

    プリペアドステートメントはセキュリティ対策として広く宣伝されていますが、それは人々の注意を引くためだけのものであることに注意してください。しかし、彼らの本物 目的は適切なクエリフォーマットです 。これにより、セキュリティも確保されます。適切にフォーマットされたクエリも挿入できないため、副作用と同じです。しかし、繰り返しになりますが、適切にフォーマットされていない場合、無害なデータでもクエリエラーが発生する可能性があるため、フォーマットが主要な目標です。

    編集:execute()に注意してください TRUEのみを返します またはFALSE 操作の成功を示します。 UPDATEの影響を受けるレコード数などのその他の情報 、rowCount()などのメソッド 提供されています。 ドキュメント をご覧ください。 。



    1. MicrosoftAccessでテーブルの名前を変更する方法

    2. PARSE()を使用してSQLServerで文字列を日付/時刻に変換する方法

    3. 文字列SQLサーバーから番号を削除します

    4. Oracleデータベースでユーザー定義データ型を使用してネストされたテーブルを作成する方法