может ли кто-нибудь просмотреть этот код и рассказать мне, почему он не обновляет базу данных? Я знаю, что он взломан вместе, я новичок на PHP
заранее спасибо
<?php // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name WHERE depot = 'plainview'"; $result=mysql_query($sql); // Count table rows $count=mysql_num_rows($result); //update if(isset($_POST['Submit'])){ for($i=0;$i<$count;$i++){ $sql1 = "UPDATE $tbl_name SET available='{$_POST['available'][$i]}', rent='{$_POST['rent'][$i]}', corp_ready='{$_POST['corp_ready'][$i]}', down='{$_POST['down'][$i]}', gfs='{$_POST['gfs'][$i]}', dateTime = NOW() WHERE id='$id[$i]'"; $result1 = mysql_query($sql1) or die(mysql_error()); } } //redirect if($result1){ header("location: plainview.php"); } mysql_close(); ?>
======================
// Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name WHERE depot = 'plainview'"; $result=mysql_query($sql); // Count table rows $count=mysql_num_rows($result); //update if(isset($_POST['Submit'])){ for($i=0;$i<$count;$i++){ $sql1 = "UPDATE $tbl_name SET available='".mysql_real_escape_string($_POST['available'][$i])."', rent='".mysql_real_escape_string($_POST['rent'][$i])."', corp_ready='".mysql_real_escape_string($_POST['corp_ready'][$i])."', down='".mysql_real_escape_string($_POST['down'][$i])."', gfs='".mysql_real_escape_string($_POST['gfs'][$i])."', dateTime = NOW() WHERE id='".$id[$i]."'"; $result1 = mysql_query($sql1) or die(mysql_error()); } } //redirect if($result1){ header("location: plainview.php"); } mysql_close(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script language="JavaScript1.1" type="text/javascript"> <!-- function mm_jumpmenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> <title>Untitled Document</title> </head> <body> <div> <p>Plainview, North East Region</p> <p>Select a different region: <select onchange="mm_jumpmenu('parent',this,0)" name="lostlist"> <option value="" selected="selected">Choose Your Depot</option> <option value="plainview.php">Plainview</option> <option value="worcrester.php">Worcrester</option> </select></p> </div><Br /> <table width="500" border="0" cellspacing="1" cellpadding="0"> <form name="form1" method="post" action=""> <tr> <td> <table width="700" border="0" cellspacing="1" cellpadding="0"> <tr> <td>ID</td> <td align="center"><strong>Product Name</strong></td> <td align="center"><strong>Available</strong></td> <td align="center"><strong>Rent</strong></td> <td align="center"><strong>Corp Ready</strong></td> <td align="center"><strong>Down</strong></td> <td align="center"><strong>GFS</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td align="left"><?php $id[]=$rows['id']; ?><?php echo $rows['id']; ?></td> <td align="left"><?php echo $rows['product']; ?></td> <td align="center"><input name="available[]" type="text" id="available" value="<?php echo $rows['available']; ?>" size="5"></td> <td align="center"><input name="rent[]" type="text" id="rent" value="<?php echo $rows['rent']; ?>" size="5"></td> <td align="center"><input name="corp_ready[]" type="text" id="corp_ready" value="<?php echo $rows['corp_ready']; ?>" size="5"></td> <td align="center"><input name="down[]" type="text" id="down" value="<?php echo $rows['down']; ?>" size="5" /></td> <td align="center"><input name="gfs[]" type="text" id="gfs" value="<?php echo $rows['gfs']; ?>" size="5"></td> </tr> <?php } ?> <tr> <td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td> </tr> </table> </td> </tr> </form> </table> <?php echo "$sql1"; ?> </body> </html>
в// Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name WHERE depot = 'plainview'"; $result=mysql_query($sql); // Count table rows $count=mysql_num_rows($result); //update if(isset($_POST['Submit'])){ for($i=0;$i<$count;$i++){ $sql1 = "UPDATE $tbl_name SET available='".mysql_real_escape_string($_POST['available'][$i])."', rent='".mysql_real_escape_string($_POST['rent'][$i])."', corp_ready='".mysql_real_escape_string($_POST['corp_ready'][$i])."', down='".mysql_real_escape_string($_POST['down'][$i])."', gfs='".mysql_real_escape_string($_POST['gfs'][$i])."', dateTime = NOW() WHERE id='".$id[$i]."'"; $result1 = mysql_query($sql1) or die(mysql_error()); } } //redirect if($result1){ header("location: plainview.php"); } mysql_close(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script language="JavaScript1.1" type="text/javascript"> <!-- function mm_jumpmenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> <title>Untitled Document</title> </head> <body> <div> <p>Plainview, North East Region</p> <p>Select a different region: <select onchange="mm_jumpmenu('parent',this,0)" name="lostlist"> <option value="" selected="selected">Choose Your Depot</option> <option value="plainview.php">Plainview</option> <option value="worcrester.php">Worcrester</option> </select></p> </div><Br /> <table width="500" border="0" cellspacing="1" cellpadding="0"> <form name="form1" method="post" action=""> <tr> <td> <table width="700" border="0" cellspacing="1" cellpadding="0"> <tr> <td>ID</td> <td align="center"><strong>Product Name</strong></td> <td align="center"><strong>Available</strong></td> <td align="center"><strong>Rent</strong></td> <td align="center"><strong>Corp Ready</strong></td> <td align="center"><strong>Down</strong></td> <td align="center"><strong>GFS</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td align="left"><?php $id[]=$rows['id']; ?><?php echo $rows['id']; ?></td> <td align="left"><?php echo $rows['product']; ?></td> <td align="center"><input name="available[]" type="text" id="available" value="<?php echo $rows['available']; ?>" size="5"></td> <td align="center"><input name="rent[]" type="text" id="rent" value="<?php echo $rows['rent']; ?>" size="5"></td> <td align="center"><input name="corp_ready[]" type="text" id="corp_ready" value="<?php echo $rows['corp_ready']; ?>" size="5"></td> <td align="center"><input name="down[]" type="text" id="down" value="<?php echo $rows['down']; ?>" size="5" /></td> <td align="center"><input name="gfs[]" type="text" id="gfs" value="<?php echo $rows['gfs']; ?>" size="5"></td> </tr> <?php } ?> <tr> <td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td> </tr> </table> </td> </tr> </form> </table> <?php echo "$sql1"; ?> </body> </html>
Всегда избегайте ввода всех пользователей. Ваш запрос на обновление должен выглядеть так:
$sql1 = "UPDATE $tbl_name SET available='".mysql_real_escape_string($_POST['available'][$i])."', rent='".mysql_real_escape_string($_POST['rent'][$i])."', corp_ready='".mysql_real_escape_string($_POST['corp_ready'][$i])."', down='".mysql_real_escape_string($_POST['down'][$i])."', gfs='".mysql_real_escape_string($_POST['gfs'][$i])."', dateTime = NOW() WHERE id='".$id[$i]."'";
Попробуйте echo "id='$id[$i]'<br />";
и убедитесь, что вы получаете идентификаторы, которые должны быть отправлены.
Было ли $tbl_name
установлено вне кода, который вы указали? Если нет, установите его так, чтобы ваш sql знал, с какой таблицей работать.