INSERT ステートメントは、データベース テーブルに新しいレコードを挿入するために使用されます。データの挿入は、列名と値を指定することで完了します。
$sql = "INSERT INTO テーブル名前 (リスト 1、リスト 2、...) 値 (値 1、値 2、...)";
パラメーター化されたクエリを使用すると、SQL インジェクション攻撃を効果的に防ぐことができます。パラメーターをプレースホルダーにバインドすることで、ユーザー入力をクエリ文字列に直接結合することを避けます。
$stmt = $conn->prepare("INSERT INTO テーブル名前 (リスト 1, リスト 2) 値 (?, ?)");
$stmt->bind_param("ss", $value1, $value2);INSERT...SELECT ステートメントを使用して、別のテーブルからデータを一括挿入します。
$sql = "INSERT INTO テーブル 1 (リスト 1、リスト 2) SELECT リスト 1、リスト 2 FROM テーブル 2";
自動生成された ID は、LAST_INSERT_ID() 関数または $conn->insert_id を通じて取得でき、後続の操作を容易にします。
$id = $conn->insert_id;
トランザクションにより、一連のデータベース操作がすべて成功するか、すべてロールバックに失敗することが保証されます。一般的に使用される関数には、begin_transaction()、commit()、rollback() などがあります。
mysqli_error() 関数を使用して、データベース操作中に発生するエラーをキャプチャして処理します。
if ($stmt->execute()) {
//実行成功} else {
echo "エラー: " 。 $stmt->エラー;
}