将数据发送到数据库时出现语法错误

时间:2016-03-18 16:08:15

标签: php sql database

我一直收到以下错误

  

错误:您的SQL语法出错;检查手册   对应于您的MariaDB服务器版本,以获得正确的语法   靠近'(''),'''','','' ;,'')'在第3行

我的代码如下所示:

//Insert statement into the Users table with the values posted from the form
$sql="INSERT INTO Users (Username, Password, Forename, Surname, Email, `Post Code`, `Phone Number`)
VALUES
('$_POST[username]', md5.('$_POST[password]'),'$_POST[fore]','$_POST[sur]','$_POST[email]','$_POST[postcode]','$_POST[phone]')";

2 个答案:

答案 0 :(得分:0)

发现问题,我需要在sql语句之前使用md5我的密码,傻了我!无论如何,感谢任何试图帮助xD的人

答案 1 :(得分:0)

你的行情错过了!
只有用户名定义如下:

时,这才是正确的$_POST[username]
define ('username', 'username');

另外:md5()是一个函数,而不是一个对象,请参阅手册here

你应该尝试如下(不要害怕让你的代码更清晰阅读)

$username   = isset($_POST['username']) ? $_POST['username']        : '';
$password   = isset($_POST['password']) ? md5($_POST['password']) : '';
$fore       = isset($_POST['fore'])      ? $_POST['fore']           : '';
$sur        = isset($_POST['sur'])   ? $_POST['sur']            : '';
$email      = isset($_POST['email'])     ? $_POST['email']      : '';
$postcode   = isset($_POST['postcode']) ? $_POST['postcode']        : '';
$phone      = isset($_POST['phone'])     ? $_POST['phone']      : '';


$sql="INSERT INTO Users (Username, Password, Forename, Surname, Email, `Post Code`, `Phone Number`)
VALUES
('$username', $password'),'$fore','$sur','$email','$postcode','$phone')";