php 数据未使用 XAMPP 存储在 mySQL 数据库中

php Data not stored in mySQL database using XAMPP

我有这个代码,我正在使用最新版本的 XAMPP:

文件名:store.html

<!DOCTYPE html>

<html>
<body>

<form action="store.php" method="post">
User input: <input type="text" name="userinput"><br>
<input type="submit">
</form>

</body>
</html>

文件名:store.php

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo "Connected successfully";

$input = $_POST["userinput"];


$sql = "INSERT INTO table_1 (s_num)
VALUES ('$input')";


 ?>

无论我做什么,都没有数据添加到数据库中。请帮忙。谢谢。

您没有执行 sql 插入代码。 在这一行之后:

$sql = "INSERT INTO table_1 (s_num)
VALUES ('$input')";

添加这些行:

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

这里的问题是您从未执行过查询。

$sql = mysqli_query($conn,"INSERT INTO table_1 (s_num)
VALUES ('$input')");

if(!sql){

   echo "Error: " . mysqli_error($conn);

}

else{

   echo "Success";

}

参考:


如果涉及用户输入(除了您自己),您当前的代码对 SQL injection 开放。

使用prepared statements, or PDO with prepared statements它们更安全


此外,看到您是 运行 从您自己的机器上访问的,请确保您访问的是 http://localhost/file.php 而不是 file:///file.php.