Jump to content

Colton.Wagner

Members
  • Posts

    157
  • Joined

  • Last visited

Everything posted by Colton.Wagner

  1. I am Parsing a very large xml document into a mysql database here is the error I am getting. Parse error: syntax error, unexpected ';' in on line 51 Here is the code with personal information removed. <?php session_start(); $_SESSION['parts'] = array(); ?> <html> <head> <link rel="shortcut icon" href="/favicon.ico" /> <title> Title </title> </head> <body> <?php mysql_connect('l', '', ''); mysql_select_db(''); $parser = xml_parser_create(); function start($parser, $element_name, $element_attrs) { switch($element_name) { case "warehousloc": // this is the start of a set of data $_SESSION['parts'] = array(); // create an empty set break; case "description": $query = sprintf("INSERT INTO values (warehouseloc, trackingnumber, partnumber, name, imagename, primarycatalog primaryyear, primarypage, orgincountry, price, catagory1, catagory2, catagory3, catagory4, web_catagory1, web_catagory2, web_catagory3, description) VALUES ('%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)", mysql_real_escape_string($_SESSION['parts']['warehouseloc'], mysql_real_escape_string($_SESSION['parts']['trackingnumber'], mysql_real_escape_string($_SESSION['parts']['partnumber'], mysql_real_escape_string($_SESSION['parts']['name'], mysql_real_escape_string($_SESSION['parts']['imagename'], mysql_real_escape_string($_SESSION['parts']['primarycatalog'], mysql_real_escape_string($_SESSION['parts']['primaryyear'], mysql_real_escape_string($_SESSION['parts']['primarypage'], mysql_real_escape_string($_SESSION['parts']['origincountry'], mysql_real_escape_string($_SESSION['parts']['price'], mysql_real_escape_string($_SESSION['parts']['category1'], mysql_real_escape_string($_SESSION['parts']['catagory2'], mysql_real_escape_string($_SESSION['parts']['catagory3'], mysql_real_escape_string($_SESSION['parts']['catagory4'], mysql_real_escape_string($_SESSION['parts']['web_catagory1'], mysql_real_escape_string($_SESSION['parts']['web_catagory2'], mysql_real_escape_string($_SESSION['parts']['web_catagory3'], mysql_real_escape_string($_SESSION['parts']['description'], mysql_query($query) break; default: } } function stop($parser, $element_name) { } function char($parser,$data) { $data = trim($data); if($data != ''){ if(!isset($_SESSION['parts']['warehouseloc'])){ $_SESSION['parts']['warehouseloc'] = $data; } elseif(!isset($_SESSION['parts']['trackingnumber'])){ $_SESSION['parts']['trackingnumber'] = $data; } elseif (!isset($_SESSION['parts']['partnumber'])){ $_SESSION['parts']['partnumber'] = $data; } elseif (!isset($_SESSION['parts']['name'])){ $_SESSION['parts']['imagename'] = $data; } elseif (!isset($_SESSION['parts']['primarycatalog'])){ $_SESSION['parts']['primarycatalog'] = $data; } elseif (!isset($_SESSION['parts']['primaryyear'])){ $_SESSION['parts']['primaryyear'] = $data; } elseif (!isset($_SESSION['parts']['primarypage'])){ $_SESSION['parts']['primarypage'] = $data; } elseif (!isset($_SESSION['parts']['origincountry'])){ $_SESSION['parts']['origincountry'] = $data; } elseif (!isset($_SESSION['parts']['price'])){ $_SESSION['parts']['price'] = $data; } elseif (!isset($_SESSION['parts']['catagory1'])){ $_SESSION['parts']['catagory1'] = $data; } elseif (!isset($_SESSION['parts']['catagory2'])){ $_SESSION['parts']['catagory2'] = $data; } elseif (!isset($_SESSION['parts']['catagory3'])){ $_SESSION['parts']['catagory3'] = $data; } elseif (!isset($_SESSION['parts']['catagory4'])){ $_SESSION['parts']['catagory4'] = $data; } elseif (!isset($_SESSION['parts']['web_catagory1'])){ $_SESSION['parts']['web_catagory1'] = $data; } elseif (!isset($_SESSION['parts']['web_catagory2'])){ $_SESSION['parts']['web_catagory2'] = $data; } elseif (!isset($_SESSION['parts']['web_catagory3'])){ $_SESSION['parts']['web_catagory3'] = $data; } elseif (!isset($_SESSION['parts']['description'])){ $_SESSION['parts']['description'] = $data; } } } xml_set_element_handler($parser, "start", "stop"); xml_set_character_data_handler($parser, "char"); $fp=fopen("file","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?> </body> </html> I see where the error is at in my code but I do not understand why it is coming up. I can remove the break but it just moves the break to the next line.
  2. I can't seem to get it into the database still. It throws no errors or exceptions. Here is what I got. <?php session_start(); $_SESSION['parts'] = array(); ?> <html> <head> <link rel="shortcut icon" href="/favicon.ico" /> <title> Page Title Goes Here </title> </head> <body> <?php mysql_connect('connection', 'username', 'password'); mysql_select_db('products'); $parser = xml_parser_create(); function start($parser, $element_name, $element_attrs) { switch($element_name) { case "SKU": // this is the start of a set of data $_SESSION['parts'] = array(); // create an empty set break; case "TIME"; mysql_query("INSERT INTO products (sku, part, qty) VALUES ('$data')"); echo "<p>Completed Successfully!</p>"; break; default: } } function stop($parser, $element_name) { } function char($parser,$data) { $data = trim($data); if($data != ''){ if(!isset($_SESSION['parts']['SKU'])){ $_SESSION['parts']['SKU'] = $data; } elseif(!isset($_SESSION['parts']['PART'])){ $_SESSION['parts']['PART'] = $data; } elseif (!isset($_SESSION['parts']['QTY'])){ $_SESSION['parts']['QTY'] = $data; } } } xml_set_element_handler($parser, "start", "stop"); xml_set_character_data_handler($parser, "char"); $fp=fopen("http://morris.morriscostumes.com/out/available_batchnynyy_001.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?> </body> </html>
  3. Thanks that helped out a lot I still have been unable to parse the XML into the database but I feel that I am on the brink of understanding the problem. I never thought of looking at it in a session array. You have been very helpful I would rep you but I'm not sure if I can or it exists on this smf forum.
  4. Here is my problem I am trying to import an xml file that is basically formatted like this. <?xml version="1.0" encoding="UTF-8"?> <AvailableBatch> <Date>09/23/2009</Date> <UDT>1253751301</UDT> <Type>Full</Type> <Available> <Sku>427890</Sku> <Part>1001BSG</Part> <Qty>38</Qty> <Time>20:18:11</Time> </Available> <Available> <Sku>427870</Sku> <Part>1003BSS</Part> <Qty>218</Qty> <Time>20:18:11</Time> </Available> All i need to import are the values of Sku Part and Qty. Here is what I have programmed so far but it doesn't seem to work for me. <html> <head> <link rel="shortcut icon" href="/favicon.ico" /> <title> Title here i took it out =p </title> </head> <body> <?php $con = mysql_connect("localhost","root","tookitout=p"); if (!$con){ die("Connection Error:" . mysql_error()); } $parser = xml_parser_create(); function start($parser, $element_name, $element_attrs) { $result = mysql_query($query) or die(mysql_error()); if(!$result) { echo mysql_error(); } else { mysql_select_db("Products", $con); mysql_query("INSERT INTO products (id) VALUES ('')"); switch($element_name) { case "SKU": '"));mysql_query("INSERT INTO products sku VALUES ("'; break; case "PART": '"));mysql_query("INSERT INTO products item_id VALUES ("'; break; case "QTY": '"));mysql_query("INSERT INTO products quanity VALUES ("'; break; '"));mysql_query("INSERT INTO products time VALUES ("'; case "TIME": break; default: '"))'; } } } function stop($parser, $element_name) { } function char($parser,$data) { echo $data; } xml_set_element_handler($parser, "start", "stop"); xml_set_character_data_handler($parser, "char"); $fp=fopen("http://morris.morriscostumes.com/out/available_batchnynyy_001.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?> </body> </html> I've been looking around and there isn't a whole lot of people that can do this. So please help me.
×
×
  • 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.