おそらく最後のレコードだけが挿入されるように、ループの後でクエリを実行している可能性があります。
ループの最後に挿入クエリを実行しよう:
while ($row1 = mysql_fetch_assoc($result1)) {
$IDno = $row1["SIDno"];
$sql2 = "INSERT INTO registered (ServiceID, IDno, Stype) VALUES ('".mysql_real_escape_string($RecCode)."', '".mysql_real_escape_string($IDno)."', '".mysql_real_escape_string($Stype)."')";
mysql_query($sql2);
}
それとも、最初にすべてのデータを収集し、すべてのレコードを挿入するために、1つのクエリを実行します。
$values = array();
while ($row1 = mysql_fetch_assoc($result1)) {
$IDno = $row1["SIDno"];
$values[] = "('".mysql_real_escape_string($RecCode)."', '".mysql_real_escape_string($IDno)."', '".mysql_real_escape_string($Stype)."')";
}
if (!empty($values)) {
$sql2 = "INSERT INTO registered (ServiceID, IDno, Stype) VALUES ".implode(',', $values);
mysql_query($sql2);
}
しかし、ドン」クエリの値を準備することを忘れないでください(mysql_real_escape_string
function参照)。
ニース破のアイデア。それを拡張して2D配列を作ることができませんでしたか? – strager
@ Gumbo - 助けてくれてありがとう。その今働いている。 –
@ stranger:なぜ2次元配列ですか?それだけですべてが複雑になるでしょう。 – Gumbo