【问题标题】:mysql query work on phpmyadmin but not work on mysqlimysql 查询可在 phpmyadmin 上工作,但不能在 mysqli 上工作
【发布时间】:2013-03-14 01:11:50
【问题描述】:

我有一个可以在 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

【问题讨论】:

  • 你是否在 mysql 中插入了一个可能的'
  • @phpNoOb 不,这是\'的查询插入导出
  • 我不明白为什么有人反对这个问题!

标签: php sql mysqli mysqli-multi-query


【解决方案1】:

你的问题很简单。

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

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

Backticks on php.net

【讨论】:

  • 来自你的链接Note: Unlike some other languages, backticks cannot be used within double-quoted strings. 所以mysqli_multi_query("INSERT INTO `SepidarSoft_Portal`.`Archive_Media` SET ...") 不会执行命令。当您的表和/或列名是 MySQL 保留字时,可以使用反引号。另见 - stackoverflow.com/a/11321508/689579
  • 另外,如果他们的 MySQL 不在ANSI mode 中,则使用ANSI_QUOTES,即MySQL by default has no special modes enabled,您使用single or double quotes within your mysqli functions 的建议将不起作用。
猜你喜欢
  • 2014-09-07
  • 2023-04-05
  • 2018-07-19
  • 2018-06-19
  • 2014-06-08
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
  • 2019-09-12
相关资源
最近更新 更多