我试图在MySQL数据库中插入很多字段,但是有些失败了,所以我在PHP脚本中添加了一些代码来尝试跟踪正在发生的事情。

替换似乎可以正常工作,因为我可以看到在mysql中填充了这些字段,但出现此错误:


  1064:您的SQL错误
  句法;检查手册
  对应于您的MySQL服务器
  使用正确语法的版本
  第1行的“ 1”附近


//insert query
if (strlen($link_name)>0)
{
$query = mysql_query("REPLACE into jos_mt_links
(link_id, link_name, alias, link_desc, user_id, link_approved, metadesc, link_created, link_modified, website, price)
VALUES ('$link_id','$link_name','$link_name','$description','63','1','$metadesc','$link_created','$link_modified','$website','$cost')");
echo $link_name . "has been inserted <br />";
print "SQL-Query: ".$query."<br>";

    if(mysql_query($query,$db))
   {
    echo "<center><font face='$fonts' size=2 color='$green'>";
    echo " OK !</font><br><br>\n";
   }
  else
   {
    echo "<center><font face='$fonts' size=3 color='$red'>";
    echo "Error<br><br>";
       echo mysql_errno() . ":" . mysql_error() . "</font><br>\n";
   }

最佳答案

您的SQL没错。您正在将$query分配给mysql_query()调用的结果:

$query = mysql_query("REPLACE into jos_mt_links
    (link_id, link_name, alias, link_desc, user_id, link_approved, metadesc,
    link_created, link_modified, website, price)
    VALUES
    ('$link_id','$link_name','$link_name','$description','63','1','$metadesc','$link_created','$link_modified','$website','$cost')");


mysql_query()作为true查询的结果返回falseREPLACE,但更重要的是您要分配结果,而不是正在执行的SQL查询。

此外,在这里:

if(mysql_query($query,$db))


您将在同一个mysql_query()变量上再次调用$query,该变量现在具有值true(因为您说查询正在工作并且数据库正在正常更新)。 PHP将布尔值true解释为字符串'1',并且您要告诉MySQL运行名为1的查询,这将产生该错误。

您可能打算像这样分配$query,以便您的if条件正常运行:

$query = "REPLACE into jos_mt_links
    (link_id, link_name, alias, link_desc, user_id, link_approved, metadesc,
    link_created, link_modified, website, price)
    VALUES
    ('$link_id','$link_name','$link_name','$description','63','1','$metadesc','$link_created','$link_modified','$website','$cost')";


并在if语句中调用您的echo

另一件事:正如Mark Ba​​ker所指出的那样,在将变量直接粘贴到SQL之前,请确保已使用mysql_real_escape_string()对变量进行了转义。

关于php - 在MySQL中出现1064错误,但查询仍然完成?不知道为什么!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2959386/

10-14 17:58
查看更多