Possible Duplicate:
Import CSV to mysql
是的,我需要一些帮助:
我正在尝试使用 php 将 .csv 文件导入 mysql 数据库,而不是通过 phpmyadmin 手动执行此操作。
这是我目前的代码:
if($_REQUEST['func'] == "iid"){
$db->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
die('There was a problem connecting to the database.');
$csv = $_POST['csv-file'];
$path = $csv;
$row = 1;
if (($handle = fopen($path, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$row++;
$data_entries[] = $data ;
}
fclose($handle);
}
// this you'll have to expand
foreach($data_entries as $line){
$sql = $db->conn->prepare('INSERT INTO `bd_results`');
$db->execute($line);
}
}
但是我收到以下错误:
Fatal error: Call to undefined method stdClass::execute() in /homepages/19/d372249701/htdocs/business-sites/bowlplex-doubles-new/admin/scores.php on line 44
作为引用,我使用的代码取自:Here
我不太熟悉 $db->conn 业务,我习惯了 mysql_connect!因此,任何帮助将不胜感激。
最佳答案
尝试这个简单的。
if (($handle = fopen("google.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$db->conn->query("INSERT INTO values('" . implode('\',\'', $data) . "');");
}
fclose($handle);
}
如果 CSV 值还没有引号,您的脚本可能还需要添加引号。如果您需要处理 CSV 文件中的引号和所有内容,我建议您查看我的博客文章 http://www.fusionswift.com/2012/07/php-import-csv-to-mysql/
关于php - 将 CSV 文件直接导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461313/