mysql查询工作phpmyadmin但不能在mysqli上工作

时间:2013-03-24 14:44:47

标签: php sql mysqli mysqli-multi-query

我有一个在phpmyadmin中工作的查询,但在php(mysqli)上没有工作

问题出在哪里?

查询:

  INSERT INTO `SepidarSoft_Portal`.`Archive_Media` SET `CTime`='1364135670',`UTime`='1364135670',`PID`='',`State`='1',`Sequence`='0',`Subject`='Hojom Marg ( www.Parstafrih.ir )',`Text`='',`Description`='',`Definition`='',`KeyWord`='',`ETag`='',`Access`='',`LinkToPage`='',`Attachment`='[{\"Name\":null,\"Kind\":null,\"Size\":false,\"Address\":\"27\",\"More\":{\"Original\":1}}]',`STime`='0',`ETime`='0';

  SET @LAST_ID:=LAST_INSERT_ID();

  INSERT INTO `SepidarSoft_Portal`.`Archive_Media_MoreInfo`  (`id`,`Key`,`Value`) VALUES (@LAST_ID,'Instrumental','1'),(@LAST_ID,'KindFile','صوتی'),(@LAST_ID,'Genre','نغمه'),(@LAST_ID,'SName','Amir Tajik ( www.Parstafrih.ir )'),(@LAST_ID,'Events','[[\"\"]]'),(@LAST_ID,'Album','( www.Parstafrih.ir )'),(@LAST_ID,'Composer',''),(@LAST_ID,'Adjustment',''),(@LAST_ID,'Subtitle','[object HTMLInputElement]'),(@LAST_ID,'Release','');

错误:

  #1064 -You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @LAST_ID:=LAST_INSERT_ID();

1)我使用php mysqli_multi_query来实现此目标

1 个答案:

答案 0 :(得分:0)

你的问题很简单。

反引号(`)用于在php中执行命令。这就是为什么你会遇到语法错误。在mysqli函数中用单引号或双引号替换它们。

请阅读以下文件,您应该排序:)

Backticks on php.net