首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL错误与PHP无关于DB本身

问SQL错误与PHP无关于DB本身
EN

Stack Overflow用户
提问于 2016-05-24 13:04:11
回答 1查看 46关注 0票数 0

我在PHP上运行这个SQL时遇到了一个错误,但是如果我在数据库本身上运行它,它不会出现任何错误(我对mysql还是很陌生的,所以请给我一点提示,我找不到问题)。

查询(如果是$SQLDatei,也只有一行代码):

代码语言:javascript
复制
  INSERT INTO BankUser (ID, Name, Admin, Password, AccessLevel, LoggedIn, FailedLogin, Banned, IP, Browser, LastLogin, Kommentar) VALUES (NULL, 'Luke', 'Luke', 'supersecretpassword', '3', '0', '0', '0', 'Unbekannt', 'Unbekannt', '2016-01-01 00:00:00', '');

错误:

代码语言:javascript
复制
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 'INSERT INTO BankUser (ID, Name, Admin, Password, AccessLevel, LoggedIn, Faile' at line 1

PHP代码:

代码语言:javascript
复制
foreach($Datenbankorganisation as $SQLDatei) {
   $SQL = file_get_contents($SQLDatei);  
   $Result = mysqli_query($DB_LINK, $SQL);

   if(!$Result) {
      echo "<p>[".$SQLDatei."] <span style='color: red';>SQL-Fehler</span>: ".mysqli_error($DB_LINK)."</p>";
   } else {
    echo "<p>[".$SQLDatei."] <span style='color: green';>SQL erfolgreich</span>.</p>";
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 13:23:21

错误: SQL语法出现错误;请检查与MySQL服务器版本相对应的手册,以获得使用“插入到BankUser…”的正确语法。

MySQL通常显示语句的一部分,在“正确的语法使用附近”之后遇到错误的位置。

因为它从这里开始就显示了完整的语句,所以在INSERT关键字之前可能有一些东西--您看不到/看不到,但是MySQL看到了&跳过它。

您正在从这里的文件中读取SQL查询,因此我的第一个猜测是,这些文件可能包含一个Byte Order Mark ( BOM ),以指示存储在哪个字符中--很可能是BOM中的UTF-8。因此,尝试将它们保存为不带BOM的UTF-8。(例如,Notepad++可以检测到所使用的字符编码,并在没有BOM的情况下很容易地转换为相应的字符编码。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37414504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档