Php 为同一ID插入多行语法错误

Php 为同一ID插入多行语法错误,php,sql,Php,Sql,我想在我的sql数据库中插入很多行,但它给了我一个错误。我有3个字段(object_id、key、value),对于不同表中的每个对象,我希望以长文本格式存储额外的值,没有自动递增的sql server错误表示我使用了错误的语法。我用“”、``试过了,也没有任何东西,但它不起作用。我做错了什么 $ff = $db->last_inserted_id(); $query2 = "INSERT INTO object_meta (`object_id`, `key`, `valu

我想在我的sql数据库中插入很多行,但它给了我一个错误。我有3个字段(object_id、key、value),对于不同表中的每个对象,我希望以长文本格式存储额外的值,没有自动递增的sql server错误表示我使用了错误的语法。我用“”、``试过了,也没有任何东西,但它不起作用。我做错了什么

  $ff = $db->last_inserted_id();

    $query2 = "INSERT INTO object_meta (`object_id`, `key`, `value`)
      VALUES ($ff, 'title', '$title'),
      VALUES ($ff, 'nice_url', '$nice_url'),
      VALUES ($ff, 'menu_title', '$menutitle'),
      VALUES ($ff, 'content', '$text'),
      VALUES ($ff, 'description', '$description'),
      VALUES ($ff, 'keywords', '$keywords'),
      VALUES ($ff, 'status', '$status'),
      VALUES ($ff, 'date', '$date')";

    $db->query($query2) or die(mysql_error());

即使插入多行,也只需使用
值一次

$query2 = "INSERT INTO object_meta (`object_id`, `key`, `value`)
  VALUES ($ff, 'title', '$title'),
         ($ff, 'nice_url', '$nice_url'),
         ($ff, 'menu_title', '$menutitle'),
         ($ff, 'content', '$text'),
         ($ff, 'description', '$description'),
         ($ff, 'keywords', '$keywords'),
         ($ff, 'status', '$status'),
         ($ff, 'date', '$date')";

我已经在Mac上运行PHP5.3和PDO,并连接到Linux上运行的MySQL 5.6实例上进行了测试。我确认这是有效的。

即使插入多行,也只需使用
值一次

$query2 = "INSERT INTO object_meta (`object_id`, `key`, `value`)
  VALUES ($ff, 'title', '$title'),
         ($ff, 'nice_url', '$nice_url'),
         ($ff, 'menu_title', '$menutitle'),
         ($ff, 'content', '$text'),
         ($ff, 'description', '$description'),
         ($ff, 'keywords', '$keywords'),
         ($ff, 'status', '$status'),
         ($ff, 'date', '$date')";
INSERT INTO 
    object_meta (`object_id`, `key`, `value`)
VALUES 
($ff, 'title', '$title'),
($ff, 'nice_url', '$nice_url'),
...
我已经在Mac上运行PHP5.3和PDO,并连接到Linux上运行的MySQL 5.6实例上进行了测试。我确认这是有效的

INSERT INTO 
    object_meta (`object_id`, `key`, `value`)
VALUES 
($ff, 'title', '$title'),
($ff, 'nice_url', '$nice_url'),
...
不能重复值

不能重复值

请尝试将其更改为:

  $ff = $db->last_inserted_id();

    $query2 = "INSERT INTO object_meta (`object_id`, `key`, `value`)
      VALUES ('$ff', 'title', '$title'),
      VALUES ('$ff', 'nice_url', '$nice_url'),
      VALUES ('$ff', 'menu_title', '$menutitle'),
      VALUES ('$ff', 'content', '$text'),
      VALUES ('$ff', 'description', '$description'),
      VALUES ('$ff', 'keywords', '$keywords'),
      VALUES ('$ff', 'status', '$status'),
      VALUES ('$ff', 'date', '$date')";

    $db->query($query2) or die(mysql_error());
(将“”添加到$ff)

尝试将其更改为:

  $ff = $db->last_inserted_id();

    $query2 = "INSERT INTO object_meta (`object_id`, `key`, `value`)
      VALUES ('$ff', 'title', '$title'),
      VALUES ('$ff', 'nice_url', '$nice_url'),
      VALUES ('$ff', 'menu_title', '$menutitle'),
      VALUES ('$ff', 'content', '$text'),
      VALUES ('$ff', 'description', '$description'),
      VALUES ('$ff', 'keywords', '$keywords'),
      VALUES ('$ff', 'status', '$status'),
      VALUES ('$ff', 'date', '$date')";

    $db->query($query2) or die(mysql_error());

(将“”添加到$ff)

“但它给了我一个错误”-它的确切文本是一个秘密?我使用了错误的语法,正如我所说的..在错误消息中,mysql向您指出了您提出的确切问题。mysql不会告诉你“错误的语法”。@user3421973-我发现
确切的
错误消息不太可能是
我也使用了错误的语法
me,但是没有更多的。。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在'11',title',hgfhfhf'),(11',nice_url',kjhg'),(11',menu_title',第2行“但是它给了我一个错误”-它的确切文本是一个秘密?我使用了错误的语法,正如我所说的..在错误消息中,MySQL向您指出了您所提出的确切问题。“语法错误“这不是mysql会告诉你的。@user3421973-我发现
exact
错误消息不太可能是
我也使用了错误的语法
me,但没有太多。您的SQL语法有错误;请查看与mysql服务器版本对应的手册,以了解在'11',title',hgfhfhf'附近使用的正确语法,(11,'nice_url','kjhg'),(11,'menu_title',在第2行