-------这是传送id
<?php 
            echo "<a href=job_edit.php?sid=".$array[jobid]."><img src=images/icon-edit.gif width=13 height=11 border=0 /></a>";
?>------这是接收id<?
    include 'conn.php';               //链接数据库
            
    $id = intval($_GET['sid']);
    $sql1 = mysql_query("SELECT * FROM `job_show` WHERE jobid = '$id'");
    $array = mysql_fetch_array($sql1);
    
    $date = $_POST[date];
    if($date == 0) {
        $date = date("Y-m-d");
    }
    
    if($_POST['submit3']) {
        $sql = "UPDATE `job_show` SET company='$_POST[company]', trade='$_POST[trade]',
             type='$_POST[type]', telephone='$_POST[telephone]', contact='$_POST[contact]',
             treatment='$_POST[treatment]', area='$_POST[area]', adress='$_POST[adress]', 
            date='$date', record='$_POST[record]' 
        WHERE `jobid`='$id'";
        
        $query = mysql_query($sql);        echo "<script language=\"javascript\">alert('更新成功')</script>";
        if($query) {
            echo "<script>location    .href='job_show.php';</script>";
        }
    }
    echo mysql_error();
?>
请问为什么当我将“where `jobid`=`$id`”改变为"where `jobid`=`1`"时,能发生更新。
求助啊。

解决方案 »

  1.   

    你的更新操作产生于 if($_POST['submit3']) { 分支
    那么就应该有表单了,提交时 sid 是如何传送的?
      

  2.   

    id没有值? url上有不有sid的值? 
    var_dump($id);  //什么结果
      

  3.   

    回复2、3楼的。当我换成insert时可以成功运行。而且var_dump($id);会有值输出来。我试过echo $sql。 id的值能显示出来。
      

  4.   

    $query = mysql_query($sql) or die(mysql_error());
    这样报错吗
      

  5.   

    回复9楼的。
    echo 出来的。
    "UPDATE `job_show` SET company=", trade='..', type='..', telephone='..', contact='..', treatment='..', area='..', adress='..', date='.2012-08-02.', record='..' WHERE jobid='1'
      

  6.   

    这边company=",应该类似于company='',
      

  7.   

    在详细看代码之前先唠叨一下,在这个版块怎么老看到类似这样的 写法 $array[jobid]  难道都是新手。
      

  8.   

    把这个直接复制到mysql执行看看效果,怎么感觉这sql那么怪异呢