Php SQL语法错误?

Php SQL语法错误?,php,mysql,sql,Php,Mysql,Sql,我做了以下插入查询: INSERT INTO `giornale`.`Articolo` (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) VALUES (NULL, \'titoloooo\', \'ciao ciao\', \'texttttt\', \'im

我做了以下插入查询:

INSERT INTO `giornale`.`Articolo` 
    (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, 
        `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) 
VALUES (NULL, \'titoloooo\', \'ciao ciao\', \'texttttt\', \'immag\', 
           \'admin\', NOW(), \'prova\', \'3\', NULL);
如果我在phpMyAdminSQL编辑器中启动它,它就可以正常工作。但如果我在php脚本中执行此操作,它将返回以下错误:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近“\'titoloooo\”、“ciao ciao\”、“texttttt\”、“immag\”, \“admin\”,NOW(),“prova”位于第1行

我怎样才能解决这个问题


多谢各位

我不知道你为什么有这么多反斜杠

移除它们,你就会没事了

INSERT INTO `giornale`.`Articolo` 
    (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, 
        `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) 
VALUES (NULL, 'titoloooo', 'ciao ciao', 'texttttt', 'immag', 
           'admin', NOW(), 'prova', '3', NULL);

您不需要转义单引号

INSERT INTO `giornale`.`Articolo` 
    (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, 
        `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) 
VALUES (NULL, 'titoloooo', 'ciao ciao', 'texttttt', 'immag', 
           'admin', NOW(), 'prova', '3', NULL);

对字符串使用双引号,则可以在查询中使用单引号而不会出现问题:

$query = "INSERT INTO `giornale`.`Articolo` (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) VALUES (NULL, 'titoloooo', 'ciao ciao', 'texttttt', 'immag', 'admin', NOW(), 'prova', '3', NULL);";
mysql_query($query); // or whatever

在我看来,\'被带到您的SQL查询中。尝试删除转义并单独使用单引号

INSERT INTO `giornale`.`Articolo` 
    (`id_articolo`, `titolo`, `didascalia`, `testo`, `immagine`, 
        `username_r`, `data_art`, `autore`, `id_categoria`, `numero_like`) 
VALUES (NULL, 'titoloooo', 'ciao ciao', 'texttttt', 'immag', 
           'admin', NOW(), 'prova', '3', NULL);

如果整个字符串都是单引号
,它就可以正常工作


看起来您使用的是双引号,在这种情况下,您不必转义单引号。

看起来您正在转义您需要的引号。您可以向我们展示PHP代码吗?您真的要在SQL编辑器中转义单引号吗?这肯定会失败。除非他使用的是
mysql\u查询('INSERT INTO…
@MichaelRushton),否则转义版本在phpmyadminYes中应该失败,我提到这一点作为对他的问题的评论。除非他使用的是
mysql\u查询('INSERT INTO…
假设,我只是在处理我回答问题时的问题。