您好我的查询有问题。我想在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'附近使用正确的语法我的代码有什么问题?
答案 0 :(得分:0)
INSERT
用于创建新行,而不是更新现有行,因此拥有WHERE
子句没有意义。要修改现有行,请使用UPDATE
:
$sql = "UPDATE candidate
SET comments_manager = '$comments_manager'
WHERE uid = " . intval($uid);