所以这很简单,我需要将数字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)
?>所以为了清楚起见,我需要下一个循环来做同样的事情,但是使用'$_POSTgp2',g= g+ '$_POSTg2‘....ect
再次感谢你
发布于 2012-10-23 22:16:48
哇,你需要查找SQL注入。这段代码不,不,不安全。您至少需要对所有已发布的数据使用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上执行left ()。否则,你可以更优雅地失败,忽略它,但给自己留个信息。
如果您有PDO,您可能还想研究一下它,因为它使用起来更简单一些。
https://stackoverflow.com/questions/13032302
复制相似问题