无法通过数据库表插入数据

时间:2017-02-06 08:33:43

标签: php mysql sql

<?php
$con=mysql_connect('localhost', '   ', '    ') ;
$db=mysql_select_db('    ') ;
$name=$_POST['name'];
$email=$_POST['email'];
$mobile=$_POST'mobile'];
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO user (name, email, mobile)
VALUES ('$name', '$email', '$mobile')";
if ($con->query($sql) === TRUE) 
{
echo "New record created successfully";
} 
else{
    echo "Error: " . $sql . "<br>" . $con->error;
}
$con->close();
?>`

我正在尝试将数据插入到我的表中,但它会引发错误 帮我解决这个问题。

我的错误:

syntax error, unexpected ''mobile'' (T_CONSTANT_ENCAPSED_STRING)

1 个答案:

答案 0 :(得分:1)

这可以作为评论,但我的声誉很低。

在我回答你的问题之前,请不要使用mysql函数,因为它不再受支持。考虑切换到MYSQLI或PDO。此外,不要相信用户输入。意思是不要直接将字段值从表单发布到数据库,因为attcker可以通过添加有趣的javascripts或更糟糕的方式轻松地利用它。 它不会工作因为,你忘了打开方括号,

$ mobile = $ _POST [&#39; mobile&#39;];

对于你的问题,试试这个:

  $sql = "INSERT INTO user (`name`, `email`, `mobile`)VALUES 
 ('".mysqli_real_escape_string($con,$_POST['name'])."', 
 '".mysqli_real_escape_string($con,$_POST['email'])."', 
 '".mysqli_real_escape_string($con,$_POST['mobile'])."')";

其中变量$ conn是您的数据库连接