我在PHP上运行这个SQL时遇到了一个错误,但是如果我在数据库本身上运行它,它不会出现任何错误(我对mysql还是很陌生的,所以请给我一点提示,我找不到问题)。
查询(如果是$SQLDatei,也只有一行代码):
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', '');错误:
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 1PHP代码:
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>";
}
}发布于 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的情况下很容易地转换为相应的字符编码。)
https://stackoverflow.com/questions/37414504
复制相似问题