這是我的代碼片段。我基本上有一個我想要插入到表名中的新數組,但在我這樣做之前,我驗證了新數據對舊數據,確認它們是數字並插入到新行中。從foreach驗證檢查中分離mysql_query php
我意識到我做了什麼,mysql_query在foreach循環中,它插入5行都是一樣的。我希望它只插入1個新行。
如何在循環外部執行mysql_query,並在嘗試插入新行之前保持foreach循環提供的驗證?
foreach ($statnumber as $element) {
if ($statnumber != $LastWeeksStats && is_numeric($element)) {
mysql_query("INSERT INTO tablename (idproducts, stat1, stat2, stat3, stat4, stat5, superstat1) VALUES('8', '$statnumber[0]', '$statnumber[1]', '$statnumber[2]', '$statnumber[3]', '$statnumber[4]', '$statnumber[5]')") or die(mysql_error());
} else {
echo "'{$element}' is NOT numeric or results same as last week", PHP_EOL;
}}
mysql_close();
您是否聽說過關於break關鍵字的內容? – SergeS 2012-02-02 20:11:25
我還沒有那是什麼? – oxymoron 2012-02-02 20:12:00
它會結束循環,所以把它放在你的查詢後(所以它會做一次,然後結束) - 但這種情況意味着你在設計上有錯誤 – SergeS 2012-02-02 20:13:24