php - 为什么 MySQL INSERT 查询会出错?错误是什么意思?

标签 php mysql sql database

我正在尝试插入一个 MYSQL 查询,如下所示:

  doSql("INSERT INTO users (userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, $mUsername, $hashedPassword, $mFirstName, $mLastName, $mEmail, $mStreetNumber, $mStreetName, $mSuburb, $mPostcode, $mCountry, $mPhone, $mMobilePhone, $mGender, $mNewsletter, $destination_path)");

我收到以下错误:

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 ' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, , , , , , , ,' at line 1

我已经检查了任何语法错误,例如缺少分号,但我不明白为什么会收到此错误。

我的意思是这些字符来自哪里:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

这是 doSql 函数:

/********** Perform MYSQL Query **********/
function doSql($query) {
// 1. Connect to the database
$con = mysqli_connect('localhost', 'root', '', 'shahyan_gameon');
// 2. Test if connection occured
if(mysqli_connect_errno()) {
    die("Database connection failed " . mysqli_connect_error() . "( " . mysqli_connect_errno() . " )");
    return false;
}
// 3. Do the query
$result = mysqli_query($con, $query) or die(mysqli_error($con));
// mysqli_query runs a query against the database using two argument, the connection and the query string
//die() stops a script from being processed and outputs info.
if($result) {
    return $result;
} else {
    return false;
}
}

最佳答案

您需要将字符串包裹在'[quotes]中。

 doSql("INSERT INTO users (userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, '$mUsername', '$hashedPassword', '$mFirstName', '$mLastName', '$mEmail', '$mStreetNumber', '$mStreetName', '$mSuburb', '$mPostcode', '$mCountry', '$mPhone', '$mMobilePhone', '$mGender', '$mNewsletter', '$destination_path')");

它应该可以正常工作。

关于php - 为什么 MySQL INSERT 查询会出错?错误是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195808/

相关文章:

php - Firebase 索引.php

php - 带数据库的电子邮件重复检查 php

SQL 2000/2005/2008 - 查找列的唯一约束名称

PHP 和 MySQL 统计系统

php - 不使用 jQuery 获得值(value)

php - 如何使用 youtube api 从播放列表中获取所有视频?

php - 更新数据库中序列化列的最佳方法

Mysql自定义序列生成器(如oracle)

PHP echo 里面的 echo

php - 在 PHP 中,如何即时解压缩压缩了两次的文件?