We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

MYSQL Query doesn't work in PHP

blackcatd_304
on
Medium Priority
433 Views
Last Modified: 2013-12-13
I want to use php file to import data from csv to mysql database.
The database can be connected successfully.
But the query of importing data is unsuccessful.
I print out the query in the page to see the code. It shows like this:

    LOAD DATA LOCAL INFILE 'C:\\xampp\\tmp\\phpCB5.tmp' INTO TABLE `thisweek` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'

It appears the same as the code from mysql when I directly import .csv file into mysql database.
I don't know where the problem is.
Can anyone help?
<?php
session_start();
 
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"] . "<br>";
  }
 
  
$usrName = "root";
$usrPwd = "";
$hostName = "localhost";
$database = "weekly_incidence";
  
$link = mysql_connect("$hostName", "$usrName", "$usrPwd") or die ("Error!" . mysql_error());
$res0 = mysql_query("USE $database", $link) or die("Use DB problem");
 
$sql_upload0 = "DELETE FROM `thisweek`";
print "<br>";
 
$sql = stripslashes("LOAD DATA LOCAL INFILE '") . addslashes($_FILES["file"]["tmp_name"]) . stripslashes("' INTO TABLE `thisweek` FIELDS TERMINATED BY ',' ENCLOSED BY '&quot' ESCAPED BY '") . "\\\\" . stripslashes("' LINES TERMINATED BY '") . "\\r\\n" . stripslashes("'");
 
print $sql;
print "<br>";
//mysql_query($sql_upload0) or die("die 0");
mysql_query($sql) or die("die 1");
 
 
?>

Open in new window

Comment
Watch Question

Top Expert 2008

Commented:
Change line 33 into this:

mysql_query($sql) or die(mysql_error());

What is the error message?
Most Valuable Expert 2011
Author of the Year 2014

Commented:
You might want to use double quotes in that $sql statement.  Not sure, but single quotes around escape characters may give PHP some issues.
Technology Scientist
CERTIFIED EXPERT
Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.