ainoy31 Posted July 25, 2007 Share Posted July 25, 2007 I have a site that allows my client to upload a *.csv file. Once that is uploaded, the data will be inserted into a database. The upload part works but when I add the insert part is where I am having problems. Here is the code: <? session_start(); require("testDBconnect.php"); $target = basename( $_FILES['uploaded']['name']); $ok = 1; if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { echo "The file " . "< $target >" . " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file."; } if(isset($_SESSION['user'])) { $fcontents = file ('*.csv'); for($i = 0; $i <sizeof($fcontents); $i++) { $line = trim($fcontents[$i]); $arr = explode(",", $line); #if your data is comma separated # instead of tab separated, # change the '\t' above to ',' $sql = "INSERT INTO flight_schedule values ('". implode("','", $arr) ."')"; mysql_query($sql) or die("Error: " . mysql_error()); } } ?> Quote Link to comment Share on other sites More sharing options...
Barand Posted July 25, 2007 Share Posted July 25, 2007 use mysql LOAD DATA INFILE command - much faster Quote Link to comment Share on other sites More sharing options...
ainoy31 Posted July 25, 2007 Author Share Posted July 25, 2007 thank you. can i use the following syntax: *.csv mysql_query('LOAD DATA INFILE "*.csv" INTO TABLE flight_schedule FIELDS ENCLOSED BY "" TERMINATED BY ",";') or die('Error loading data file.<br>' . mysql_error()); Quote Link to comment Share on other sites More sharing options...
Barand Posted July 25, 2007 Share Posted July 25, 2007 If it's a windows file you should add LINES TERMINATED BY "\r\n" Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.