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


php Data not stored in mySQL database using XAMPP

我有这段代码,我使用的是最新版本的XAMPP:

文件名:存储.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>

文件名:存储.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 = mysqli_query($conn,"INSERT INTO table_1 (s_num)
VALUES ('$input')");
if(!sql){
   echo "Error: " . mysqli_error($conn);
}
else{
   echo "Success";
}

参考:

  • http://php.net/manual/en/mysqli.query.php

如果用户输入(除了您自己)参与其中,您当前的代码可以接受SQL注入

使用预准备语句

带有预准备语句的 PDO它们更安全


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

您没有执行 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();