0

这是我的代码..我不知道问题是什么..点击提交按钮后..错误来了..卡了一整天

<?

if (isset($_GET['do']) && $_GET['do'] == 'update')
{
$id=$_POST["id"];
$name=$_POST["name"];
$address=$_POST["address"];
$contact=$_POST["contact"];
$item=$_POST["item"];
$query="update itemorder set name='$name',address='$address',contact='$contact',item='$item' where id=$id";
mysql_query($query);

    echo "<center>Successfully Updated in DATABASE</center>";
    include("search.php");

}
?>
<center>
  <h1><u>Student Database</u></h1>
</center>
<?
$id=$_GET["id"]; //the problem here, line 33
$query="select * from itemorder where id='$id'";
$result=mysql_query($query);
         while ($row = mysql_fetch_array($result)) {

?>

我的源代码的其余部分在下面......你可以这个

<form name="update" method="post" action="edit.php">
  <table style=" border:1px solid silver" cellpadding="5px" cellspacing="0px" align="center" border="0">
    <tr>
      <td colspan="4" style="background:#0066FF; color:#FFFFFF; font-size:20px">ADD STUDENT RECORD</td>
    </tr>
    <tr>
    <tr>
      <td>Enter ID</td>
      <td><? echo $row[0];?>
        <input name="id" type="hidden" id="id" value="<? echo $row[0];?>" size="20"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>

还有这个……我不知道问题出在哪里

<tr>
      <td>Enter Name</td>
      <td><input type="text" name="name" size="20" value="<? echo $row[2];?>"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Address</td>
      <td><input name="address" type="text" id="address" value="<? echo $row[3];?>" size="20"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Contact</td>
      <td><input name="contact" type="text" id="contact" value="<? echo $row[4];?>" size="20"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Enter Item</td>
      <td><input name="item" type="text" disabled="disabled" id="item" value="<? echo $row[1];?>" size="20"></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="4" align="center"><input type="hidden" name="do" value="update">
        <input type="submit" value="UPDATE RECORD"></td>
    </tr>
  </table>
</form>
<?  ?>
<p align="center"><a href="index.php">Go Back to Home</a></p>
</body>
</html>
4

3 回答 3

1

检查您的使用$_POST$_GET,请使用 GET 或 POST 但不能同时使用,您id的未设置,您的 URL 没有?id=25,使用isset(isset($_GET["id"]))以避免此错误

或者您可以简单地使用$_REQUEST['id']来获取 id 数据

<?
if(isset($_GET["id"])){    
$id=$_GET["id"]; //the problem here, line 33    
$query="select * from itemorder where id='$id'";
$result=mysql_query($query);
 while ($row = mysql_fetch_array($result)) {
         // fetch records
}else{
echo  "no records found with the id $id";
}
?>
于 2013-10-30T07:38:36.223 回答
0

你错过了一个大括号

while ($row = mysql_fetch_array($result)) {
} //<--- here
?>
于 2013-10-30T07:39:26.477 回答
0

利用

   if(isset($_GET["id"]))
   {
       $id=$_GET["id"];
   }
   else
   { 
       $id=0;
   }

如果未设置,您必须定义默认值。或者您可以在 if 条件中定义选择查询。

于 2013-10-30T07:40:29.947 回答