很简单,我需要将数字 1 替换为 2,然后替换为 3,依此类推 32 次。我知道如何创建简单的 PHP 循环和所有内容,但希望保持“干净”,以便你们更容易帮助我。
感谢您为我提供的任何帮助。
<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mbbcom1_rfhl", $con);
$sql="UPDATE `mbbcom1_rfhl`.`_statbu`
SET gp= gp + '$_POST[gp1]', g= g + '$_POST[g1]', a= a + '$_POST[a1]', shot= shot + '$_POST[s1]', pm= pm + '$_POST[pm1]', ppg= ppg + '$_POST[ppg1]', shg= shg + '$_POST[shg1]', bs= bs + '$_POST[blk1]', gwg= gwg + '$_POST[gwg1]', sog= sog + '$_POST[sog1]', soa= soa + '$_POST[soa1]', pim= pim + '$_POST[pim1]' WHERE `season` =9 AND `_statbu`.`player_id` = 1";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con)
?>
所以为了清楚起见,我需要下一个循环做同样的事情,但是使用 '$_POST[gp2]', g= g + '$_POST[g2]' ....ect
再次感谢您
最佳答案
哇,您需要查找 SQL INJECTION。这段代码不、不、不安全。您至少需要对所有已发布的数据执行 mysql_real_escape_string() (下面的示例)。
关于如何循环。如果这都是更新同一个表,而您:
//do your connection and db select here
for( $i=1; $i <= 32; $i++ ) {
$sql = "gp='".mysql_real_escape_string($_POST["gp{$i}"])."'...
//mysql_query() here
}
//mysql_close() here
如果您希望一个查询无法破坏其他 31 个查询,或者无论剩下多少个查询,您只需在 mysql_query 上执行 die() 即可。否则,您可以更优雅地失败并忽略它,但给自己留言。
如果有 PDO,您可能还想研究一下它,因为它使用起来更简单。
关于php - 需要创建一个 PHP 循环(多次失败后不知道如何继续),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13032302/