代码是这样:<body><?php
include("conn.php");
if($_REQUEST["id"]!="")
 {
 $sql="select * from message where Id=".$_REQUEST["id"];
 $query=mysql_query($sql);
  while($row=mysql_fetch_array($query)){
}
}
if($_POST['submit']){
{
 if($_REQUEST["id"]!="")
 {
  $sql1="update  message  set user=".$_POST["user"]",title=".$_REQUEST["title"]",content=".$_REQUEST["content"]",lastdate=now() where Id=".$_REQUEST["Id"]" ";
  mysql_query($sql1);
  echo "更新成功";
}
}
?><form action="update.php" method="post">
  用户:<input type="text" name="user" value="<?php echo $row[user]?>" />
  标题:<input type="text" name="title" value="<?php echo $row[title] ?>" /> 
  内容:<textarea rows="10" name="content" value="<?php echo $row[content] ?>"></textarea>
  <input type="submit" name="submit" value="更新留言"/>
</form>
</body>conn.php
<?php 
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("test", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
现在报错,更新sql语句有错,我于是就删除了更新的sql,现在读取数据时,查看源码时 value的值都为空,id是有值的。。

解决方案 »

  1.   

    老大啊。这里是ASP.NET专区啊。你应该去PHP专区问吧。。
    论坛签名======================================================================shikun127:你好!
    截至 2011-10-25 10:29:15 前:
    你已发帖 3 个, 未结贴 0 个;
    结贴率为: 100.00%

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
      

  2.   

    老大啊。这里是ASP.NET专区啊。你应该去PHP专区问吧。
      

  3.   

    你把sql语句echo出来在mysql里面执行就知道哪里有错了
      

  4.   

    sql语句一看就是引号嵌套错误。。居然没报错误么??$sql = "update  message  set user='".$_POST["user"]."',title='".$_REQUEST["title"]."',content='".$_REQUEST["content"]."',lastdate=now() where Id=".$_REQUEST["Id"]." ";
      

  5.   

    你得把sql语句打印出来,是不是有的字段没有取值。
    echo $sql的结果是什么?
      

  6.   

    1.逻辑错误
    2.SQL语句错误if($_POST['submit']){
    {
      if($_REQUEST["id"]!="")
      {
         //这里会执行么?。$_REQUEST["id"]这里不管是POST还是GET 都没值的。。      $sql1="update  message  set user='{$_POST["user"]}',title='{$_POST["title"]}',content='{$_POST["content"]}',lastdate=now() where Id='{$_POST["id"]}'";
      }
    }
      

  7.   

    还有个问题,需要修正
    <form action="update.php" method="post">
      用户:<input type="text" name="user" value="<?php echo $row[user]?>" />
      标题:<input type="text" name="title" value="<?php echo $row[title] ?>" /> 
      内容:<textarea rows="10" name="content" value="<?php echo $row[content] ?>"></textarea>
    <input type="hidden" name="id" value="<?=$row["id"]?>"/><!--只有这样,才能判断$_REQUEST["id"]-->
      <input type="submit" name="submit" value="更新留言"/>
    </form>
      

  8.   

    你要弄清楚。这个$row数组只是在这里生成if($_REQUEST["id"]!="")
     {
     $sql="select * from message where Id=".$_REQUEST["id"];
     $query=mysql_query($sql);
      //while($row=mysql_fetch_array($query)){
      //}//这里写法错误,这样修改
    $row=mysql_fetch_array($query);//这样就能读取了}
      

  9.   

    结构 有问题, $row 在下面的表单里面是 显示不出来的。   还有。  <textarea rows="10" name="content" value="<?php echo $row[content] ?>"></textarea>   我 觉得应该是   <textarea rows="10" name="content" >变量</textarea>
    应该是这么写的吧,  我一直都这样没用过你那种方式。