Jump to content

import csv/txt into mysql


twittoris

Recommended Posts

I have a table I am trying to import to mySQL

I am having trouble assigning the right variable which represents a column  header to the correct column header in the mySQL table.

 

 

<?php

/********************************/
/* Code at http://legend.ws/blog/tips-tricks/csv-php-mysql-import/
/* Edit the entries below to reflect the appropriate values
/********************************/
$databasehost = "xxx";
$databasename = "xxx";
$databasetable = "names";
$databaseusername ="xxx";
$databasepassword = "xxx";
$fieldseparator = "\t";
$lineseparator = "\n";
$csvfile = "AddEnt2.txt";

$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@mysql_select_db($databasename) or die(mysql_error());

$fcontents = file ('AddEnt2.txt');

# expects the csv file to be in the same dir as this script

for($i=0; $i<sizeof($fcontents); $i++) {

$line = trim($fcontents[$i],'\t'); // '\t' for tab delimeted
$arr = explode('\t', $line); // '\t' for tab delimeted
$name=implode("','",$arr);
$PA=implode("','",$line);
# if your data is comma separated
# instead of tab separated
# change the '\t' above to ','

$sql = "insert into $databasetable values ('$PA','$name')";

$sql = str_replace("''", mysql_escape_string("NULL"), $sql);

$sql = str_replace("' '", mysql_escape_string("NULL"), $sql);

mysql_query($sql); echo $sql ."<br>\n";

if(mysql_error()) {
echo mysql_error() ."<br><b><font color=red>\n</b>";
}
}
?>

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.