【问题标题】:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法
【发布时间】:2016-03-10 14:31:31
【问题描述】:

我不断收到错误:-

“您的 SQL 语法有错误;请查看手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 靠近'密码='evertonblues' 名字='Josh' 姓氏='Edmondson' Date of Birth='199' 在第 1 行"

运行更新查询时出错。

$result = mysqli_query($con, "UPDATE Users SET Username='".$newUsername."' Password='".$newPassword."' Forename='".$newForename."' Surname='".$newSurname."' `Date of Birth`='".$newDateofBirth."'     Address='".$newAddress."' `Post Code`='".$newPostcode."' Email='".$newEmail."' `Phone Number`='".$newPhonenumber."' WHERE `User ID`='".$newUserid."';");

【问题讨论】:

  • 我更新了问题,现在应该有代码
  • 可能与转义列名Date of Birth有关,其中包含空格。可能重复:stackoverflow.com/q/14190798/1749822
  • 按照链接线程中的一些建议,仍然没有用:/
  • 用户名和密码之间缺少逗号;和许多其他人......

标签: php sql warnings mariadb


【解决方案1】:

你忘了一堆逗号:

..snip... SET Username='".$newUsername."' Password='".$newPassw
                                         ^-- and many others

【讨论】:

  • 逗号成功了老板,很好的观察,我是 PHP 新手,花了几个小时看这段代码:P
  • 与 php 无关,真的。这纯粹是一个sql级问题。 php 恰好是该 sql 的包装器
【解决方案2】:

使用如下查询:

"UPDATE Users SET `Username`='".$newUsername."', `Password`='".$newPassword."', `Forename`='".$newForename."', `Surname`='".$newSurname."', `Date of Birth`='".$newDateofBirth."', `Address`='".$newAddress."', `Post Code`='".$newPostcode."', `Email`='".$newEmail."', `Phone Number`='".$newPhonenumber."' WHERE `User ID`='".$newUserid."';");

Date of Birth中也有空格

【讨论】:

  • 空格无关紧要。它通过背部抽动正确逃脱。如果他们确实很重要Post Code 也将是一个问题。
  • 这个成功了,非常感谢,刚刚花了 3 个小时对我的代码感到恼火,我也是 PHP 新手,所以没有帮助:P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 2018-11-27
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
相关资源
最近更新 更多