gpt4 book ai didi

php - 该 MySQL 版本不允许使用该命令

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

好吧,在尝试了一周的所有不同想法答案但没有成功之后,我要问。这是针对 MySQL 的 LOAD DATA LOCAL INFILE。有很多关于此的帖子,但我仍然无法从网络浏览器中让它工作,但我能够从服务器上的 mysql 命令提示符运行它,使用相同的用户并通过连接到相同的数据库。到目前为止我已经尝试过了

  1. MySQL 版本 5.5
  2. Ubuntu 12.04
  3. PHP 版本 5.3

在 my.cnf 中local-infile=1在 mysqld、mysql、mysql 安全中loose-local-infile=1 客户端

重新启动 MySQL 服务器。此时,我可以从命令提示符运行查询,而以前却不能。我已经给出了从 777 访问权限中提取文件的目录。我已确认 php.ini 已启用本地文件参数。我已经更新了apparmor。实际查询:

LOAD DATA LOCAL INFILE '/var/www/ui/uploads/r_import.csv' INTO TABLE r_data FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (first_name,last_name,apt,user_id)

以上查询通过 mysql 命令进行,在与服务器的连接中没有特殊参数。

如果有人对此有更多想法,我很乐意尝试任何事情......提前致谢。

<?php
include 'includes/header.php';
if($_FILES['file']['type'] != "application/vnd.ms-excel"){
die("This is not a CSV file.");
}
elseif(is_uploaded_file($_FILES['file']['tmp_name'])){
$filename = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
copy( $filename, 'uploads/'.$name ) or die( "Could not copy file!");
$file_to_import = '/var/www/ui/uploads/'.$name;
$query = 'LOAD DATA LOCAL INFILE \''.$file_to_import.'\' INTO TABLE r_data FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' IGNORE 1 ROWS (first_name,last_name,apt,user_id)';
echo $query;
$result = mysqli_query($link,$query) or die(mysqli_error($link));
}
else{
die("You shouldn't be here");
}
?>

最佳答案

$link = mysqli_init();
mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($link, 'localhost', $username, $password, $database);

数据库的连接字符串对我有用。我在developerwjk给出的链接的最后一条评论中找到了它

关于php - 该 MySQL 版本不允许使用该命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28550933/

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