次のコードを使用して、複数のレコードをテーブルに挿入しています。ご覧のとおり、クエリはループしています。ループが実行されるたびに、別の SQL クエリが実行されて挿入されます。
複数のクエリを実行する代わりに、単一の INSERT sql クエリのみを複数の挿入ステートメントで実行するアプローチが必要です。
私のこのコードは完全に機能していますが、最適化する必要があります。
$managed_ailments = unserialize($ailments);
foreach($managed_ailments as $ailment_id)
{
$sql = "INSERT INTO ". TABLE_PATIENTS_AILMENTS_RECORDS ."";
$sql .= "(patient_id, ailment_id, datecreated) VALUES";
$sql .= "($patient_id, $ailment_id, now())";
$query = $mysql->query($sql);
}
ここで $managed_ailments は、私がシリアル化を解除したシリアル化された配列です。配列には 1 つまたは複数の値を含めることができます。$mysql->query($sql) は私のカスタム関数です。
このコードをすべて実行する単一の SQL クエリに変換するのを手伝ってください。
前もって感謝します。