使用PHP将CSV加载到MySQL表中

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP将CSV加载到MySQL表中脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用PHP脚本将CSV导入MysqL表.此sql命令成功将CSV文件导入sql表:

MysqL> LOAD DATA LOCAL INFILE 'property_re_1.csv' 
-> REPLACE INTO TABLE `markers`
-> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
-> LINES TERMINATED BY '\n' IGNORE 1 LINES;
Query OK, 315 rows affected (0.01 sec)
Records: 315  Deleted: 0  Skipped: 0  Warnings: 0

现在我想将此sql命令转换为PHP脚本.这是我编写PHP脚本的尝试:

<?PHP
$dbhost = 'localhost';
$dbuser = 'myusername';
$dbpasswd = 'mypassword';
$db = "db_markers";

$dbh = MysqL_connect($dbhost, $dbuser, $dbpasswd) or die("Unable to connect to sql server");
$my_db = @MysqL_select_db($db, $dbh) or die("Unable to select database");

$file = $_SERVER['DOCUMENT_ROOT']."/path/property_re_1.csv";

$result=MysqL_query("LOAD DATA LOCAL INFILE '$file' REPLACE INTO TABLE `markers` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES");   
?>

此脚本导致错误

错误日志显示为:

[18-Dec-2012 12:37:38] PHP Parse error: Syntax error, unexpected    T_CONSTANT_ENCAPSED_STRING in /path/testconnect.PHP on line 13

在第13行调用$Result变量,因此必须在其中包含错误.

我不确定这个错误的原因是什么.任何帮助是极大的赞赏!

解决方法:

错误的原因是您发送到Web服务器的请求. Web服务器尝试完成请求并执行脚本来执行此操作(在您的情况下是PHP脚本).

PHP脚本现在失败了.网络服务器只知道它失败了,但由于网络服务器不知道任何具体内容,它只会返回所谓的内部服务器错误(内部发生的错误),代码500.确切的错误信息被隐藏,因为错误不是预期的不应将任何内部信息泄露给外界.

仅从信息中,没有人能说出发生了什么.您需要查看网络服务器的错误日志并检查内部报告的内容.

在您的情况下,我会假设您的PHP脚本有致命错误.您还可以启用PHP错误显示和日志记录,请参阅PHP Does Not Display Error Messages.

执行此操作时,您可能会看到更多错误消息.常见错误消息在我们的错误参考:Reference – What does this error mean in PHP?中进行了解释.

如果我应该猜测,我会说你看到了这个,因为你的PHP文件没有解析.最有可能出现以下错误

> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE

快乐的故障排除!

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP将CSV加载到MySQL表中全部内容,希望文章能够帮你解决使用PHP将CSV加载到MySQL表中所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: