【问题标题】:Keep Getting A SQL Syntax Error [duplicate]不断收到 SQL 语法错误 [重复]
【发布时间】:2016-03-01 00:28:11
【问题描述】:

我尝试了很多东西,但由于某种原因,我无法弄清楚为什么下面的代码总是给我一个错误。

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO app_users (signupDate, userToken, ipAddress, countryCode, countryName, regionName, cityName, zipCode, latitude, longitude, timeZone, referer, userAgent, hostName)
VALUES ('$ls_signupDate', '$ls_userToken', '$ls_ipAddress', '$ls_countryCode', '$ls_countryName', '$ls_regionName', '$ls_cityName', '$ls_zipCode', '$ls_latitude', '$ls_longitude', '$ls_timeZone', '$ls_referer', '$ls_userAgent', '$ls_hostName)'";

if ($conn->query($sql) === TRUE) {
    echo "Content Inserted successfully";
} else {
    echo "Error inserting content: " . $conn->error;
}

它一直给我的错误是......

您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 第 2 行的 '' 附近

我在这里做错了什么?

【问题讨论】:

  • 仔细查看$sql 字符串的末尾。
  • 投票结束是一个简单的错字...
  • 我一定是个白痴。我没看到。
  • '$ls_hostName)'"; 应该是'$ls_hostName')";
  • 天啊..我是个白痴!对不起。我有点浪费你的时间在这个上......但是非常感谢。我很感激。

标签: php mysql database mysqli syntax-error


【解决方案1】:

你的代码应该如下:

$sql = "INSERT INTO app_users (signupDate, userToken, ipAddress, countryCode, countryName, regionName, cityName, zipCode, latitude, longitude, timeZone, referer, userAgent, hostName)
VALUES ('$ls_signupDate', '$ls_userToken', '$ls_ipAddress', '$ls_countryCode', '$ls_countryName', '$ls_regionName', '$ls_cityName', '$ls_zipCode', '$ls_latitude', '$ls_longitude', '$ls_timeZone', '$ls_referer', '$ls_userAgent', '$ls_hostName')";

注意单引号、括号和双引号的顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    • 2023-03-22
    • 2012-05-15
    • 2013-08-10
    • 2019-05-05
    • 1970-01-01
    相关资源
    最近更新 更多