0

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

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>";

` 当我在文本字段中提交值时,会收到此消息Invalid query:You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册。在第 2 行的“WHERE uid = 63”附近使用正确的语法我的代码有什么问题?

4

1 回答 1

0

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

$sql = "UPDATE candidate
        SET comments_manager = '$comments_manager'
        WHERE uid = " . intval($uid);
于 2013-08-25T17:52:19.353 回答