質問:
PDO の query() メソッドとexecute() メソッドはどちらですか) メソッドは本質的に交換可能ですか? それとも大きく異なりますか?
答え:
どちらのメソッドもデータベース クエリを実行しますが、いくつかの基本的な違いがあります:
query() と use()
プリペアド ステートメントの例:
<code class="php">$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories); $sth->bindParam(':colour', $colour); $sth->execute();</code>
この場合、変数 $calols と $colour は次のことを行います。これらはクエリから分離されているため、エスケープしたり引用符で囲む必要はありません。
推奨事項:
セキュリティを強化するには、execute( で準備されたステートメントを使用することがベスト プラクティスです。 )。これにより、ユーザーが指定したデータが SQL インジェクション攻撃に対して脆弱ではなくなります。
以上がPDO の query() とexecute(): 交換可能か、それとも別個か?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。