Search code examples
mysqlsqlload-data-infile

how to troubleshoot a load data infile query


I have the following query...how would I go about troubleshooting why it is not loading any data (my connection to my db is fine).

$filename = "/data/101Phones-Product_Catalog_TXT.txt";

mysql_query('load data infile "'.$filename.'" into table CJProducts fields terminated by "\t" lines terminated by "\n" (PROGRAMNAME, PROGRAMNAME, CATALOGNAME, LASTUPDATED, NAME, KEYWORDS, DESCRIPTION, SKU, MANUFACTURER, MANUFACTURERID, UPC, ISBN, CURRENCY, SALEPRICE, PRICE, RETAILPRICE, FROMPRICE, BUYURL, IMPRESSIONURL, IMAGEURL, ADVERTISERCATEGORY, THIRDPARTYID, THIRDPARTYCATEGORY, AUTHOR, ARTIST, TITLE, PUBLISHER, LABEL, FORMAT, SPECIAL, GIFT, PROMOTIONALTEXT, STARTDATE, ENDDATE, OFFLINE, ONLINE, INSTOCK, CONDITION, WARRANTY, STANDARDSHIPPINGCOST)');

http://billsprice.com/1_800_FLORALS-Product_Catalog_1.txt

EDIT:

 mysql> load data infile "/data/101Phones-Product_Catalog_TXT.txt" into table CJProducts fields terminated by "\t" lines terminated by "\n" (`PROGRAMNAME`, `PROGRAMURL`, `CATALOGNAME`, `LASTUPDATED`, `NAME`, `KEYWORDS`, `DESCRIPTION`, `SKU`, `MANUFACTURER`, `MANUFACTURERID`, `UPC`, `ISBN`, `CURRENCY`, `SALEPRICE`, `PRICE`, `RETAILPRICE`, `FROMPRICE`, `BUYURL`, `IMPRESSIONURL`, `IMAGEUR`, `ADVERTISERCATEGORY`, `THIRDPARTYID`, `THIRDPARTYCATEGORY`, `AUTHOR`, `ARTIST`, `TITLE`, `PUBLISHER`, `LABEL`, `FORMAT`, `SPECIAL`, `GIFT`, `PROMOTIONALTEXT`, `STARTDATE`, `ENDDATE`, `OFFLINE`, `ONLINE`, `INSTOCK`, `CONDITION`, `WARRANTY`, `STANDARDSHIPPINGCOST` SHOW ERRORS

Solution

  • Use SHOW ERRORS and SHOW WARNINGS to get explicit messages.

    Alternatively, try to execute this request in the mysql console to get more information.

    Try to check this answer too: Can I detect and handle MySQL Warnings with PHP?.

    Also backquote your column names as, for example, CONDITION is a reserved keyword. Modify your query as below:

    mysql_query('load data infile "'.$filename.'" into table CJProducts fields terminated by "\t" lines terminated by "\n" (`PROGRAMNAME`, `PROGRAMNAME`, `CATALOGNAME`, `LASTUPDATED`, `NAME`, `KEYWORDS`, `DESCRIPTION`, `SKU`, `MANUFACTURER`, `MANUFACTURERID`, `UPC`, `ISBN`, `CURRENCY`, `SALEPRICE`, `PRICE`, `RETAILPRICE`, `FROMPRICE`, `BUYURL`, `IMPRESSIONURL`, `IMAGEUR`, `ADVERTISERCATEGORY`, `THIRDPARTYID`, `THIRDPARTYCATEGORY`, `AUTHOR`, `ARTIST`, `TITLE`, `PUBLISHER`, `LABEL`, `FORMAT`, `SPECIAL`, `GIFT`, `PROMOTIONALTEXT`, `STARTDATE`, `ENDDATE`, `OFFLINE`, `ONLINE`, `INSTOCK`, `CONDITION`, `WARRANTY`, `STANDARDSHIPPINGCOST`)');
    

    Finally, you have written PROGRAMNAME twice. Is that normal?