将数据插入MYSQL数据库
问题描述:
我在将数据插入数据库'justrated'时遇到问题。一旦用户输入了他们的商业名称,它应该在“商业”表中创建一个新条目。出于某种原因,我无法得到它,以便数据输入到表格中。任何建议很乐意欣赏。将数据插入MYSQL数据库
CODE:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<form>
<input type="text" name="BusinessName" method="POST">
<input type="Submit" value="submit" name="submit" method="POST">
</form>
<?php
if (isset($_POST["submit"])){
//create connection
$conn = new mysqli("localhost", "root", "", "justrated");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO businesses (BusinessName)
VALUES ('".$_POST['BusinessName']."')";
mysql_query($sql);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
</body>
</html>
答
HTML:
<form method="POST">
<input type="text" name="BusinessName">
<input type="Submit" value="submit" name="submit" >
</form>
PHP的: 使用
$conn->query($sql); not mysql_query()
+0
这不是'mysqli_query'的正确语法。他已经有'$ conn-> query($ sql)',这是正确的。 – Barmar
答
HTML代码
<form method="post" action="test1.php">
<input type="text" name="BusinessName" >
<input type="Submit" value="submit" name="submit" >
</form>
PHP代码
if (isset($_POST["submit"]))
{
//create connection
$conn = new mysqli("localhost", "root", "", "justrated");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO businesses (`BusinessName`)
VALUES ('".$_POST['BusinessName']."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
不要混用mysql
& mysqli
....
答
你好,请检查这一项我希望这会为你工作
$sql = "INSERT INTO businesses (`BusinessName`)
VALUES ('".$_POST['BusinessName']."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
答
你的一个问题是$_POST['BusinessName']
是空的,因为表单是使用GET请求提交的,而不是POST请求。 method=POST
属性发生在<form>
元素上。例如:
<form method="POST">
<input type="text" name="BusinessName">
<input type="Submit" value="submit" name="submit">
</form>
此外,你应该将其插入到数据库之前正确转义数据:
$sql = "INSERT INTO businesses (BusinessName)
VALUES ('" . $conn->real_escape_string ($_POST['BusinessName']) . "')";
此外,在这两行:
mysql_query($sql);
if ($conn->query($sql) === TRUE) {
您尝试执行两次使用MySQL和MySQLi扩展同样的查询。你应该删除第一行。
您需要学习[html form](http://www.w3schools.com/html/html_forms.asp)。并且不要混合使用'mysql和mysqli' – Saty
当你使用'mysqli'时,你不能使用'mysql_query()'。 – Barmar
@Saty他的表格有什么问题? – Barmar