簡體   English   中英

為數組中的每個項目循環MySQL查詢10次(PHP和MySQL)

[英]Loop MySQL-Query 10 times for each item in array (PHP & MySQL)

我正在嘗試編寫帶有類別的前十名列表,但是它不能以我想要的方式工作。 有一個具有動態(n)個項目的數組,並且想要循環該數組中的每個項目10次,以便將n * 10行寫入MySQL表。 ($ i也會增加游戲排名)。 如果我回顯,print_r或var_dump該代碼有效,但是當我嘗試將其寫入MySQL表時不起作用。

這是代碼:

for ($i = 1; $i <= 10; $i++) {
foreach($titles as $val) {
$query .=  "INSERT INTO charts (game_place, game_name, game_preweek, game_developer, game_release, game_link, game_image, game_category, charts_updated) VALUES (".$i.", '', '', '', '', '', '', '".$val."', '".time()."');";
mysql_query($query);
};
};

有人知道我的問題的答案嗎?

$query .=  "INSERT ....` 

您要將每個新查詢添加到上一個查詢的末尾。 第一次迭代后,這將產生無效的SQL。 您只需要將查詢分配為:

$query =  "INSERT ....` 

您還應該考慮使用PDO或mysqli_代替-對於准備好的語句,這種事情非常理想。

$query =  "INSERT INTO `charts`` (`game_place`, `game_category`, `charts_updated`) VALUES ";
foreach ($titles as $key => $val){
    for ($i=1; $i<=10; $i++){
        $query .= "(".$i.", '".$val."', ".time()."),";
    }
}
$query = substr($query, 0, -1);//remove last comma
mysql_query($query);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM