上周我在这方面搜索了一些东西,但我没有找到任何工作,我查看了文件,文件中的任何内容也没有工作。
我有一个 CSV(下面的链接下载),我只需要使用 MySQLi 将几列上传到 MySQL。CSV来自我们用于投放广告的平台,客户名称已更改,但数据均为两天的真实数据。
这是我上传的代码(有 3 个不同版本的 SQL 命令,我尝试了大约 30 个不同的版本):
<?
(MY USER INFORMATION FOR MY MYSQL SERVER)
$ad_results = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);
ignore_user_abort(true);
set_time_limit(9999);
$sql1 = "LOAD DATA INFILE 'CSV_FILE_FOR_STACKOVERFLOW.csv' INTO TABLE ad_info
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(@col1,@col2,@col6,@col12,@col13,@col14) set client=@col2,impressions_delivered=@col12,date=@col1,impressions_booked=@col13,clicks=@col14,creative=@col6";
$sql2 = "LOAD XML INFILE '558385_20130815-153744.xml' INTO TABLE item ROWS IDENTIFIED BY '<row>'";
$sql3 = "LOAD DATA INFILE 'CSV_FILE_FOR_STACKOVERFLOW.csv' INTO TABLE ad_info
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@client, @name)
set
client = @client,
impressions_delivered = @impressions_delivered,
company_id = '1000001'";
mysqli_query($ad_results, $sql3);`
mysqli_close($ad_results)
?>
MySQL 数据库设置了 CSV 中的所有列,以防万一不能只做某些列,我愿意上传所有数据。有趣的是,每天凌晨 1 点会有 30-40 个 CSV 文件通过此代码,我有选择下载文件夹中所有 CSV 的代码,只需将代码插入 MySQL。谢谢!(请回复真实的答案,我到处搜索,但没有找到任何工作,它总是给我一个错误,或者只是没有将行插入 MySQL,我得到的最接近的是解析 CSV 并使用
mysqli_query($ad_results, "INSERT INTO ad_info (...)VALUES(...)");
该文件位于服务器上,cron 作业确实每晚运行 PHP 脚本,它忽略用户中止,运行时间为 9999 秒。(以确保它获取所有数据)。提前感谢您的帮助!
CSV 文件:http ://ad-results.com/CSV_FILE_FOR_STACKOVERFLOW.csv