mysql - How to execute 2 SQL queries one after the other using mysqli_multi_query in PHP -


i trying insert values simultaneously mysql database using mysqli_multi_query it's not executing , going if part showing alert message stating record insertion failed.

below php code query

while (($emapdata = fgetcsv($file, 10000, ",")) !== false) {     $sql_tableone =  "insert inverterlog (`id`,`timestamp`,`irradiance`,`ambienttemp`,`photovoltaictemp`,`pv1voltage`,`pv2voltage`,`pv3voltage`,`pv1current`,`pv2current`,`pv3current`,`pv1power`,`pv2power`,`pv3power`,`pv1energy`,`pv2energy`,`pv3energy`,`gridvoltagegv1`,`gridvoltagegv2`,`gridvoltagegv3`,`gridcurrentgc1`,`gridcurrentgc2`,`gridcurrentgc3`,`gridpowergp1`,`gridpowergp2`,`gridpowergp3`,`sumofapparentpower`,`gridpowertotal`,`gridenergyge1`,`gridenergyge2`,`gridenergyge3`,`socounter`,`gridcurrentdcgc1`,`gridcurrentdcgc2`,`gridcurrentdcgc3`,`gridresidualcurrent`,`gridfrequencymean`,`dcbusupper`,`dcbuslower`,`temppower`,`tempaux`,`tempctrl`,`temppower1`,`temppowerboost`,`apparentpowerap1`,`apparentpowerap2`,`apparentpowerap3`,`sovalue`,`reactivepowerrp1`,`reactivepowerrp2`,`reactivepowerrp3`,`opmode`,`latestevent`,`pla`,`reactivepowermode`,`overexcitedunderexcited`,`reactivepowerabs`,`inverter`)                                                           values('','$newdate','$emapdata[1]','$emapdata[2]','$emapdata[3]','$emapdata[4]','$emapdata[5]','$emapdata[6]','$emapdata[7]','$emapdata[8]','$emapdata[9]','$emapdata[10]','$emapdata[11]','$emapdata[12]','$emapdata[13]','$emapdata[14]','$emapdata[15]','$emapdata[16]','$emapdata[17]','$emapdata[18]','$emapdata[19]','$emapdata[20]','$emapdata[21]','$emapdata[22]','$emapdata[23]','$emapdata[24]','$emapdata[25]','$emapdata[26]','$emapdata[27]','$emapdata[28]','$emapdata[29]','$emapdata[30]','$emapdata[31]','$emapdata[32]','$emapdata[33]','$emapdata[34]','$emapdata[35]','$emapdata[36]','$emapdata[37]','$emapdata[38]','$emapdata[39]','$emapdata[40]','$emapdata[41]','$emapdata[42]','$emapdata[43]','$emapdata[44]','$emapdata[45]','$emapdata[46]','$emapdata[47]','$emapdata[48]','$emapdata[49]','$emapdata[50]','$emapdata[51]','$emapdata[52]','$emapdata[53]','$emapdata[54]','$emapdata[55]','$inverter')";     $sql_tabletwo = "insert data (`id`,`timestamp`,`gridpowertotal`,`inverter`) values ('','$newdate','$emapdata[26]','$inverter')";     $sql= $sql_tableone.";".$sql_tabletwo;     $result = mysqli_multi_query( $con,$sql);     if (! $result ) {         echo "<script type=\"text/javascript\">             alert(\"multi query record insertion failed.\");             </script>";     }     fclose($file); } //throws message if data imported mysql database excel file echo "<script type=\"text/javascript\">     alert(\"csv file has been imported.\");     window.location = \"four.php\" /</script>"; //close of connection mysqli_close($con);  } } 

if id column auto-incremented in tables, omit column (and empty value) query. alternatively, can use null (not quoted) if going mention column in query.

many, many people struggle find errors mysqli_multi_query() code block because not set output affected rows , errors.

i recommend having @ general purpose code block isolate troublesome queries, , read answer.

it looks while-looping mysqli_multi_query()'s 2 queries. efficiency, recommend building full array of queries, finishing loop, calling mysqli_multi_query() once.

p.s. of insert values have quotes in them? prepared statements issue. use code block link , check error message.

update: here spoon-fed answer (of course, didn't test before posting):

// assume $newdate not user declared , considered safe. // using null auto-incremented primary key `id`. // if want assured each pair has identical `id`, perhaps use last_insert_id() on second query of pair.  // establish variables future use $inverterlog_sql="insert `inverterlog` (`id`,`timestamp`,`irradiance`,`ambienttemp`,`photovoltaictemp`,`pv1voltage`,`pv2voltage`,`pv3voltage`,`pv1current`,`pv2current`,`pv3current`,`pv1power`,`pv2power`,`pv3power`,`pv1energy`,`pv2energy`,`pv3energy`,`gridvoltagegv1`,`gridvoltagegv2`,`gridvoltagegv3`,`gridcurrentgc1`,`gridcurrentgc2`,`gridcurrentgc3`,`gridpowergp1`,`gridpowergp2`,`gridpowergp3`,`sumofapparentpower`,`gridpowertotal`,`gridenergyge1`,`gridenergyge2`,`gridenergyge3`,`socounter`,`gridcurrentdcgc1`,`gridcurrentdcgc2`,`gridcurrentdcgc3`,`gridresidualcurrent`,`gridfrequencymean`,`dcbusupper`,`dcbuslower`,`temppower`,`tempaux`,`tempctrl`,`temppower1`,`temppowerboost`,`apparentpowerap1`,`apparentpowerap2`,`apparentpowerap3`,`sovalue`,`reactivepowerrp1`,`reactivepowerrp2`,`reactivepowerrp3`,`opmode`,`latestevent`,`pla`,`reactivepowermode`,`overexcitedunderexcited`,`reactivepowerabs`,`inverter`) values (null,$newdate"; $data_sql="insert `data` (`id`,`timestamp`,`gridpowertotal`,`inverter`) values (null,'$newdate'"; $tally=0; $x=0;  // build queries while(($emapdata=fgetcsv($file,10000,","))!==false){     ++$x;     $sql[$x]=$inverterlog_sql;  // start first query of pair     for($i=1; $i<56; ++$i){         $sql[$x].=",'".mysqli_real_escape_string($con,$emapdata[$i])."'";     }     $sql[$x].=",'".mysqli_real_escape_string($con,$inverter)."');";  // end first query of pair     $sql[$x].="$data_sql,'".mysqli_real_escape_string($con,$emapdata[26])."','".mysqli_real_escape_string($con,$inverter)."')";  // whole second query of pair     fclose($file); }  // run queries if(mysqli_multi_query($con,implode(';',$sql)){     do{         $tally+=mysqli_affected_rows($con);     } while(mysqli_more_results($con) && mysqli_next_result($con)); }  // assess outcome if($error_mess=mysqli_error($con)){     echo "<script type=\"text/javascript\">alert(\"syntax error: $error_mess\");</script>"; }elseif($tally!=$x*2){  // don't expect true case     echo "<script type=\"text/javascript\">alert(\"logic error: $tally row",($tally!=1?"s":"")," inserted\");</script>"; }else{     echo "<script type=\"text/javascript\">alert(\"csv file has been imported.\"); window.location = \"four.php\"/</script>"; } mysqli_close($con); 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -