Jump to content

[SOLVED] Loop of queries fails


allanr

Recommended Posts

Hello everyone.  I am loading a text file into a MySQL table on my local machine.  I am using the code below.  The process stops at approx 70,000 records and does not finish.  But, there is no error - no "something went wrong" or error in the mysql log.  If I run the file for 50,000 records then run the file again, the table will have the full 100,000 and finish properly both times.  If I run the file once using the loop to run 2 rounds of 50,000 the table will only have 65,000 records.  Is it possible there is a limit on the number of queries that can run in one session?  How else can I run the full file of 360,000 records?

 

Thank you for your help!

 

<?php
$files_root = "path";

$file = $files_root."sample.csv";
$sep = "\",\"";

		$fp = fopen($file,"r");
	$chunklen = 0;
		$chunk[0] = fgets($fp,2048);
            $headers = explode($sep, $chunk[0]);
            $headers = str_replace("\"", "", $headers);
            $headers = str_replace("'", "", $headers);
    $numheaders = count($headers);
    echo $numheaders;
    echo "<br />";
   // Check Valid  FILE
    if ($headers[0] != "text") {
        return false;
        exit;
    }
	$chunklen=strlen($chunk[0]);
    echo $chunklen."<br />";

		echo "Now data <br />";

$host = "localhost";
$user = "motta";
$pass = "xxxxxx";
$dbname = "mottst";

			$i = 0;
	    while ($i < 2) {
			$j = 0;
				while ($j < 50000) {

$conn = mysql_connect($host,$user,$pass);
// echo $conn;
mysql_select_db($dbname,$conn);
		$chunk[0] = fgets($fp,2048);
            $fields = explode($sep, $chunk[0]);
            $fields = str_replace("\"", "", $fields);
            $fields = str_replace("'", "", $fields);

  		$query_start = "ref_id,vin,vehicle_code,make,model,body_style,model_year,v_features,price,max_mileage,ext_color,long_description,is_certified,transmission,doors,engine_size,comp_postcode,dealer_username";
    		$query_val = "'{$fields[0]}','{$fields[1]}','{$fields[2]}','{$fields[3]}','{$fields[4]}','{$fields[5]}','{$fields[6]}','{$fields[7]}','{$fields[8]}','{$fields[9]}','{$fields[10]}','{$fields[11]}','{$fields[12]}','{$fields[13]}','{$fields[16]}','{$fields[18]}','{$fields[20]}','{$fields[23]}'";


			$query = "insert into temp_tbl(" . $query_start . ") values (" . $query_val . ")";
			if (mysql_query($query, $conn)) {
				} else {
				echo "something went wrong at ".$j;
				}				

		$j++;
} //end of inner while $j


mysql_close($conn);

		$i++;

} // end of outer while

	  fclose($fp);


?>

Link to comment
https://forums.phpfreaks.com/topic/82158-solved-loop-of-queries-fails/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.