gpt4 book ai didi

php - 将文件中的值存储到 mySQL 数据库中

转载 作者:行者123 更新时间:2023-11-29 14:29:37 25 4
gpt4 key购买 nike

所以我试图让这个网站接受文本文档赋予它的值并将它们放入 mySQL 数据库中。我在 php 中运行的代码不会给出任何语法错误,但这些值不会添加到数据库表中。

 $upload = new mysqli('localhost', 'uMoviesRoot', $_POST['password1']);

if (mysqli_connect_errno()) {
echo "There as an error.";
}

else {
mysql_select_db("localhost");
$file= fopen($_FILES['Upload']['tmp_name'], 'r');

while(! feof($file)){


$line = fgetcsv($file, 999);
if ($line[0] == "movie") {
mysql_query("INSERT INTO movies (movie, year) VALUES ($line[1], $line[2])");
$movieCount++;
$lastMovie = $line[1];

}

只是一些背景知识,我在 mySQL 中创建了表(使用 MySQL 工作台)并创建了一个名为 movie 的模式。有名为 actor(2 列)、directed_by(2 列)、directors(1 列)、movies(2 列)和 Performed_in(3 列)的表。我只在代码中添加了其中一个,只是为了使其更短(因为所有的 if 都做同样的事情)。

这是我的 PHP 代码的问题吗?

最佳答案

您应该mysql_select_db("movies");localhost是您的服务器地址,而不是数据库名称。

更新(不是测试,但这应该有效):

$upload = new mysqli('localhost', 'uMoviesRoot', $_POST['password1']);

if (mysqli_connect_errno()) {
echo "There as an error.";
} else {
mysql_select_db("movies");
$file= fopen($_FILES['Upload']['tmp_name'], 'r');

while(! feof($file)){
$line = fgetcsv($file, 999);
if ($line[0] == "movie") {
mysql_query("INSERT INTO movies (movie, year) VALUES ('$line[1]', '$line[2]')");
$movieCount++;
$lastMovie = $line[1];
}
}
}

您还可以输出 mysql_error查看错误。

如果您有来自用户输入的值,您应该查看 Prepared Statements避免SQL注入(inject)等。

关于php - 将文件中的值存储到 mySQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10267051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com