配列間に直接 1:1 の一致があると仮定すると、次のようにそれらの 1 つを単純にループできます。
foreach ($name as $key => $value) {
$name_value = mysql_real_escape_string($value);
$url_value = mysql_real_escape_string($url[$key]);
// Addendum: If there was a third array, just use `$key` as the array key
// same as done with $url[$key]
$thrid_value = mysql_real_escape_string($third_arr[$key]);
$result = mysql_query("INSERT INTO tbl_websites (site_name, site_url, third_value) VALUES ('$name_value', '$url_value', '$third_value')");
}
id
これは、が自動インクリメント値であることを前提としています。簡単にするために、mysql_query()
ここで関数を使用しました。ただし、代わりに PDO などの API を介してプリペアド ステートメントを使用することをお勧めします。配列からそれらを取得するプロセスは同じです。
PDO のバージョン (既に で接続が確立されているものとします$db
):
foreach ($name as $key => $value) {
$stmt = $db->prepare("INSERT INTO tbl_websites (site_name, site_url) VALUES (:name, :url)");
$stmt->execute(array(':name' => $name_value, ':url' => $url_value));
}
上記のコードにはエラー チェックが含まれていません。PDO ステートメントを使用したエラー チェックの例については、PDO マニュアルを参照してください。try/catch
これは、例外ブロックまたは PHP 警告を使用して行うことができます。