gpt4 book ai didi

PHP MySQL导入上传的csv错误

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

我对 php/mysql 非常陌生,但在创建一个页面时遇到了困难,该页面允许我的用户上传 csv 文件并替换更改的数据/插入新数据。我知道我的数据库连接有效,因为我有另一个页面以可排序/可搜索的方式显示数据库内容。下面是我得到的代码和错误。

数据导入.html

<html>
<body>

<form action="dataimport.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>

</body>
</html>

数据导入.php

<?php
include $_SERVER['DOCUMENT_ROOT'] . '/includes/db.inc.php';

if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
exit();
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}

$datafile = $_FILES["file"];

try
{
$sql = "LOAD DATA INFILE'".$datafile."' REPLACE INTO TABLE table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES
(@col1,@col2,@col3...)";
$s = $pdo->prepare($sql);
$s->execute();
}
catch (PDOException $e)
{
$error = 'Unable to connect to the database server.';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
?>

我得到的输出:

Upload: Report.csv
Type: application/vnd.ms-excel
Size: 1010.1943359375 kB
Stored in: E:\XAMPP\tmp\phpBD04.tmp
Notice: Array to string conversion in \dataimport.php on line 21

Unable to connect to the database server.
exception 'PDOException' with message 'SQLSTATE[28000]: Invalid authorization specification: 1045 Access denied for user 'user'@'localhost' (using password: YES)' in \dataimport.php:24 Stack trace: #0 \dataimport.php(24): PDOStatement->execute() #1 {main}

我知道我可能在 $sql 行中包含了错误的文件,但我一生都在用头撞墙,找不到有帮助的示例。

添加数据库包含

<?php
try
{
$pdo = new PDO('mysql:host=localhost;dbname=db', 'user', 'pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
}
catch (PDOException $e)
{
$error = 'Unable to connect to the database server.';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/error.html.php';
exit();
}
?>

最佳答案

'Access denied for user 'nocreport'@'localhost' (using password: YES)'

您的数据库连接配置错误。用户名或密码不匹配。

编辑。

添加更多源代码后做了一些研究。

  1. 检查您是否拥有为用户'nocreport'@'localhost'授予的FILE权限。
  2. 您还可以尝试添加 LOCAL 关键字,如下所示:

    加载数据本地 INFILE '".$datafile."' 替换为 TABLE 表字段 TERMINATED BY ',' LINES TERMINATED BY '\n' 忽略 1 行 (@col1,@col2,@col3...)

关于PHP MySQL导入上传的csv错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175524/

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