mysql语法错误

时间:2011-07-18 13:55:18

标签: php mysql

<?php
ob_start();
$id=$_REQUEST['req-id'];
// @header("location:feed.php?tumblr_id=$id");
echo "aaaa";
include_once('../config/config.php');
echo $name=$_REQUEST['req-name'];
echo $id=$_REQUEST['req-id'];
echo $mobile=$_REQUEST['req-mobile'];
echo $Email=$_REQUEST['req-email'];
echo $select=$_REQUEST['image'];
echo $img=$_REQUEST['img'];
echo $audio=$_REQUEST['audio'];
echo $ado=$_REQUEST['ado'];
echo $regular=$_REQUEST['regular'];
echo $reg=$_REQUEST['reg'];
echo $video=$_REQUEST['video'];
echo $vdo=$_REQUEST['vdo'];
echo $link=$_REQUEST['link'];
echo $lnk=$_REQUEST['lnk'];
echo $quote=$_REQUEST['quote'];
echo $qte=$_REQUEST['qte'];
echo $fbPid=$_REQUEST['fbPid'];
 $sql="update tumblr set (tumblr_name,tumblr_id,mobile_no,Email,img_post,link_post,ado_post,vdo_post,reg_post,qte_post) values('$name','$id','$mobile','$Email','$img','$lnk','$ado','$vdo','$reg','$qte')";
$res=mysql_query($sql) or die(mysql_error());

?>

我收到错误: - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'(tumblr_name,tumblr_id,mobile_no,Email,img_post,link_post,ado_post,vdo_post,reg_'第1行附近使用正确的语法

5 个答案:

答案 0 :(得分:1)

您将插入语法与更新语法混淆。更新语法详见:http://dev.mysql.com/doc/refman/5.0/en/update.html

示例:

UPDATE table
SET
    col1 = value1,
    col2 = value2
WHERE
    ...

答案 1 :(得分:1)

UPDATE tumblr 
   SET tumblr_name = '$name',
       tumblr_id = '$id',
       mobile_no = '$mobile',
       Email = '$Email',
       img_post = '$img',
       link_post = '$lnk',
       ado_post = '$ado',
       vdo_post = '$vdo',
       reg_post = '$reg',
       qte_post = '$qte'

您正尝试根据插入的格式执行更新查询。查看update query format

此外,您的代码非常不安全。至少使用mysql_real_escape_string(),例如$name=mysql_real_escape_string($_REQUEST['req-name']);以防止SQL注入。

答案 2 :(得分:0)

您在INSERT声明中使用UPDATE语法。

更新如下所示:

UPDATE tableone SET fieldone='one' WHERE id=2;

例如。

答案 3 :(得分:0)

UPDATE语法是

 UPDATE `tablename` SET `column`=value, `column`=value, ... WHERE conditions

你使用INSERT语法。

答案 4 :(得分:0)

你做了什么来诊断这个问题?

向我们展示所有这些回声声明并没有什么帮助 - 如果您告诉我们这些值是什么,它可能已经完成了。您没有转义您在SQL语句中添加的任何值。您好像在引用可能是数字的值。你已经包含了一个ob_start()语句,它也完全不相关,但这里没有mysql_connect。

但是你的代码失败的原因是因为SQL中没有'UPDATE .... VALUES ...'语句。使用'INSERT INTO ... VALUES .... on DUPLICATE KEY UPDATE'。