【发布时间】:2018-03-04 04:45:14
【问题描述】:
我已经查看了一些以前的帖子以解决完全相同的问题,但仍然无法解决该问题。我认为我的问题可能与其他问题不同。我认为这可能是文件权限问题或与文件或路径的位置有关的问题。也许这是一个 MacOS 沙盒问题?该语句在 MySQL Workbench 中运行良好。我在 MacOS 10.12.6 上运行 MySQL 5.7.19。有什么想法???
<?php
$host="localhost";
$port=3306;
$socket="/tmp/mysql.sock";
$user="user";
$password="password";
$dbname="Test_Company";
$con = new mysqli($host, $user, $password, $dbname, $port, $socket)
or die ('Could not connect to the database server' . mysqli_connect_error());
$sql = "LOAD DATA LOCAL INFILE '/Users/Test.User/Desktop/Data/Inventory Data.csv'
INTO TABLE inventory data
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
IGNORE 1 LINES " ;
if ($stmt = $con->prepare($sql)) {
$stmt->execute();
$stmt->bind_result($field1, $field2);
while ($stmt->fetch()) {
//printf("%s, %s\n", $field1, $field2);
}
$stmt->close();
}
$con->close();
?>
似乎它应该非常简单直接,但无法弄清楚这一点......
【问题讨论】:
-
IGNORE 1 LINES末尾缺少一个"; -
不幸的是,我只是在我的帖子中忘记了这一点,但它在我试图运行的 PHP 脚本中。还是没有运气...
-
你能用所有代码更新脚本吗?你的代码中没有任何东西可以执行 SQL。
-
对不起...这是从 MySQL 实用程序生成的 PHP 代码,所以这是我正在使用的。
-
$stmt->execute()是否产生任何错误?默认情况下禁用 AfaikLOAD DATA INFILE。
标签: php mysql mysqli mysql-workbench