无法在特定ID上的文本字段中插入值

时间:2013-08-25 17:40:18

标签: php sql

您好我的查询有问题。我想在SQL表中插入特定ID的值。 具体来说,有一个表,每列都有一个文本字段,每个文本字段的值必须插入SQL表的特定行。 uid 是表'候选'的外键,它是包含每个用户详细信息的表的主键。 代码如下:

if(isset($_REQUEST['uid']) && $_REQUEST['uid'] && isset($_POST['add']))
  {     
   $comments_manager =($_POST['comments_manager']);
    $uid = $_REQUEST['uid'];
    //$comments_manager  =   mysql_real_escape_string($_POST['comments_manager']);



$sql   = "INSERT INTO candidate (comments_manager) 
         VALUES ('$comments_manager')
        WHERE uid = ".intval($uid)
        ;
        $query = mysql_query($sql);
        if(!$query){

             die('Invalid query:' . mysql_error());
         }
           else{
          header('Location: ../manager/test3.php');

这是表格的一列

                print "<td>";
                print '<form action="" method="POST">';
                print '<input type="hidden" name="uid" value='.$row['uid'].' />';
                print '<input type="text"  name="comments_manager" value='.$comments_manager.' />';
                print '<br><input type="submit" name="add" value="add">';
                                    print '</form>';
                                    print "</td>";

`      当我在textfield中提交一个值时,请收听此消息无效查询:您的SQL语法中有错误;查看与MySQL服务器版本对应的手册。在第2行'WHERE uid = 63'附近使用正确的语法我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

INSERT用于创建新行,而不是更新现有行,因此拥有WHERE子句没有意义。要修改现有行,请使用UPDATE

$sql = "UPDATE candidate
        SET comments_manager = '$comments_manager'
        WHERE uid = " . intval($uid);