MySql插入.....(错误)

时间:2015-12-25 21:23:54

标签: php mysql

当我尝试将表单中的数据插入数据库时​​,我收到了插入错误。错误如下:

  

错误:INSERT INTO用户(名字)VALUES(' a')

这是代码:

if ( isset($_POST['submit']) ) {
     $registerfirstname = $_POST['firstname'];
     $query = "INSERT INTO users (firstname) VALUES ('$registerfirstname')";

     if(mysqli_query($conn, $query)){
        echo "New user created";
    }else{
        echo "Error: " .$query. "<br>" . mysqli_error($conn);
    }
}

3 个答案:

答案 0 :(得分:0)

你在这里犯了一个小错误。您必须首先通过mysqli_real_escape_string()传递变量数据。一个例子是,

$registerfirstname = mysqli_real_escape_string($registerfirstname);

之后你可以在sql中使用它。这样它就更加消毒了。我希望这能解决你的问题。

答案 1 :(得分:0)

首先,您应该使用Mysql Workbenck来准备sql语句。如果,这些语句适用于workbench.Paste到php脚本中。

在php方面,你应该在设置你的变量之前使用mysql_real_escape_string()函数。

像;

 $registerfirstname =  mysql_real_escape_string($_POST['firstname']);

答案 2 :(得分:0)

试试这个:

// Create connection
$connection = new mysqli('localhost', 'username', 'password', 'dbname');
// Check connection
if ($connection->connect_error) {
    die("Connection failed: " . $connection->connect_error);
} 

$firstname = "John";
$firstname = mysqli_real_escape_string($firstname);

$sql = "INSERT INTO users (firstname) VALUES ('$firstname')";

if ($connection->query($sql) === TRUE) {
    echo "New user created";
} else {
    echo "Error: " . $sql . "<br>" . $connection->error;
}
// Close connection
$connection->close();

它应该可以工作,但如果它不能只给我们显示错误。