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

问题描述 投票:0回答:3

我有这段代码,并且我正在使用最新版本的 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')";


 ?>

无论我做什么,都不会向数据库添加任何数据。请帮忙。谢谢你。

php mysqli xampp
3个回答
2
投票

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

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

if(!sql){

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

}

else{

   echo "Success";

}

参考:


如果用户输入(除了您自己)参与其中,您当前的代码对 SQL 注入 是开放的。

使用 准备好的语句,或PDO 与准备好的语句它们更安全


另外,看到您正在从自己的计算机上运行此程序,请确保您以

http://localhost/file.php
而非
file:///file.php
的身份访问。


1
投票

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

0
投票

因为数据库崩溃了,数据丢失了。备份文件夹不保存用户数据的备份,仅保存 MySQL (MariaDB) 的内部数据。

从现在开始,您应该定期(每天?!)进行备份,只需将整个 Xampp 文件夹复制到单独的驱动器(USB 驱动器、NAS 或其他驱动器)即可;或者至少复制 c:/xampp/data 文件夹。并且还将 MySQL 和 Apache 作为“服务”运行(Xampp Controlcenter 中有一个选项)。这可以避免 MySQL 的硬关闭(导致损坏的原因)。

如果你自己备份了数据,就会出现这个问题,比如你创建一个data-old文件夹来解决mysql关闭问题。

我也面临着同样的问题,我在网上发现我必须定期保存我的数据作为备份。

确保在完成任务后简单地复制您的数据文件夹,这可能会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.