当我尝试将表单中的数据插入数据库时,我收到了插入错误。错误如下:
错误: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);
}
}
答案 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();
它应该可以工作,但如果它不能只给我们显示错误。