You are here:  » Simple insert into mysql database is returning and empty query error


Simple insert into mysql database is returning and empty query error

Submitted by siteontime on Thu, 2009-10-29 18:50 in

Below is my code. I keep getting a query was empty error. Can you tell me what I am doing wrong?

<?php
require("MagicParser.php");
mysql_connect("localhost","","") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
?>

<?php
 
function myRecordHandler($record)
 {
     
$sql =
     
"insert into ModelPrice set
     SKU =  '"
.mysql_real_escape_string($record["ITEMFIELD@15-VALUE"])."',
     MAP =  '"
.mysql_real_escape_string($record["ITEMFIELD@29-VALUE"])."',
     Sale = '"
.mysql_real_escape_string($record["ITEMFIELD@26-VALUE"])."'
     "
;
       }
   
mysql_query($sql) or die(mysql_error());
MagicParser_parse("http://store.universal-akb.net/universal-akb/catalog.xml","myRecordHandler","xml|CATALOG/ITEM/");
  
?>

Submitted by support on Thu, 2009-10-29 19:15

Hi,

All it is, is that your call to mysql_query() is outside your myRecordHandler function - it needs to be inside the brace - that's all...

So instead of:

 function myRecordHandler($record)
 {
     $sql =
     "insert into ModelPrice set
     SKU = '".mysql_real_escape_string($record["ITEMFIELD@15-VALUE"])."',
     MAP = '".mysql_real_escape_string($record["ITEMFIELD@29-VALUE"])."',
     Sale = '".mysql_real_escape_string($record["ITEMFIELD@26-VALUE"])."'
     ";
       }
   mysql_query($sql) or die(mysql_error());

...use:

 function myRecordHandler($record)
 {
     $sql =
     "insert into ModelPrice set
     SKU = '".mysql_real_escape_string($record["ITEMFIELD@15-VALUE"])."',
     MAP = '".mysql_real_escape_string($record["ITEMFIELD@29-VALUE"])."',
     Sale = '".mysql_real_escape_string($record["ITEMFIELD@26-VALUE"])."'
     ";
     mysql_query($sql) or die(mysql_error());
 }

That should be all it is...

Hope this helps,
Cheers,
David.

Submitted by siteontime on Sat, 2009-10-31 20:24

Thank you so much! I looked at this for hours!! Just needed a second set of eyes. Thanks for the quick response.