ホームページ >バックエンド開発 >PHPチュートリアル >PDO 準備済みステートメントを使用して安全な挿入/更新ヘルパー関数を作成するにはどうすればよいですか?
従来のプレーン MySQL ドライバーの制限を考慮して、これを利用した挿入/更新ヘルパー関数を作成するためのソリューションを模索します。 PDO プリペアド ステートメントの機能。
プリペアド ステートメント ヘルパー関数
function dbSet($fields, & $values) { $set = ''; $values = array(); foreach ($fields as $field) { if (isset($_POST[$field])) { $set .= "`$field` = ?,"; $values[] = $_POST[$field]; } } return rtrim($set, ','); }
使用法
$fields = explode(" ","name surname lastname address zip fax phone date"); $_POST['date'] = $_POST['y']."-".$_POST['m']."-".$_POST['d']; $query = "UPDATE $table SET ".dbSet($fields, $values).", stamp=NOW() WHERE>
このヘルパー関数は、PDO プリペアド ステートメントを使用してデータを挿入する簡単な方法を提供します。これにより、文字列を直接連結する必要がなくなり、コードの繰り返しが減り、セキュリティが向上します。
代替ソリューション: オブジェクト リレーショナル マッピング (ORM)
より包括的なソリューションについては、 Doctrine のような ORM の使用を検討してください。このアプローチでは、データベース エンティティを管理するための直感的なインターフェイスが提供され、最小限のコードでデータの保存などの操作を実行できます。
$table = new Table(); $table->fromArray($_POST); $table->save();
ORM ソリューションを組み込むことで、データベース操作を合理化し、データベース内でデータ検証を強制できます。モデル。
以上がPDO 準備済みステートメントを使用して安全な挿入/更新ヘルパー関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。