Duplicate Writes
| From: | Ethan Rosenberg | Date: | Sun, 14 Sep 2014 05:06:36 +0000 |
| Subject: | Duplicate Writes | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-48925@lists.php.net to get a copy of this message | ||
Dear List -
I seem to be getting dual writes causing a dual insert into the database, and I cannot figure out why.
Database
mysql> describe Inventory;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |+-------------+-------------+------+-----+---------+-------+
| UPC | char(12) | NO | PRI | | | | quant | int(5) | NO | | NULL | | | manuf | varchar(20) | YES | | NULL | | | item | varchar(50) | YES | | NULL | | | orderpt | tinyint(4) | NO | | NULL | | | ordrpt_flag | tinyint(3) | YES | | NULL | | | stock | int(3) | YES | | NULL | | | price | float | YES | | NULL | | | tax_flag | tinyint(3) | YES | | NULL | |+-------------+-------------+------+-----+---------+-------+ 9 rows in set (0.37 sec) mysql> describe Purchases; +-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+----------------+
| indx | smallint(6) | NO | PRI | NULL | auto_increment | | manf | varchar(20) | YES | | NULL | | | itm | varchar(50) | YES | | NULL | | | prc | float | YES | | NULL | |+-------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) PHP code - snipped error_reporting(E_ALL | E_NOTICE); ini_set('display_errors','1'); <html> <?php $fh1 = fopen("/var/www/orders.txt", "a+"); $fh2 = fopen("/var/www/receipt.txt", "a+"); $fh3 = fopen("/var/www/purchase.txt", "a+"); $sql2 = "update Inventory set quant = quant - 1 where UPC = $upc "; $result2 = mysqli_query($cxn, $sql2); $row2 = mysqli_fetch_row($result2); $sql3 = "select quant, orderpt, ordrpt_flag, manuf, item, stock,price,tax_flag from Inventory where UPC = $upc"; $result3 = mysqli_query($cxn, $sql3); ?> <div align="center"> <table border="4" cellpadding="5" cellspacing="55" rules="all" frame="box"> <tr class='heading'> <th>Manufacturer</th> <th>Item</th> <th>Price</th> </tr> <?php $row3 = mysqli_fetch_row($result3); echo '<br />';
$Quant = $row3[0]; $Orderpt = $row3[1];$Ordrpt_flag = $row3[2];
$Manuf = $row3[3]; $Item = $row3[4]; $Stock = $row3[5]; $Price = $row3[6]; $Tax = $row3[7];$numbyt=fprintf($fh2, "%s\t %.2f\t\n %s\t %s\n",$row3[3] , $row3[6], $row3[4], $row3[7]); $numbyt=fprintf($fh3, "%s,%s,%s, %.2f\n",NULL,$row3[3], $row3[4], $row3[6]); if($row3[0] < $row3[1] ) echo "<center><b><span style='color: red; font-size:14pt';> Order more $row3[3] $row3[4] Now</b><br /> </span></center>"; $sql4 = "update Inventory set ordrpt_flag = 1 where UPC = $upc"; $result4 = mysqli_query($cxn, $sql4); $numbyt=fprintf($fh1, "%d %d %d %s %s %d\n", $Quant, $Orderpt, $Ordrpt_flag, $Manuf, $Item, $Stock); ?> <tr> <td> <?php echo $row3[3]; ?> </td> <td> <?php echo $row3[4]; ?> </td> <td> <?php echo $row3[6]; ?> </td> </tr> </table> <?php $sql5 = "load data infile '/var/www/purchase.txt' into table " . "Purchases FIELDS TERMINATED BY ',' lines terminated by '\n' "; //There are dual writes to the //table $result5 = mysqli_query($cxn, $sql5); $sql26 = "SELECT SQL_CALC_FOUND_ROWS itm FROM Purchases "; $result26 = mysqli_query($cxn, $sql26); $sql27 = "SELECT FOUND_ROWS()"; $result27 = mysqli_query($cxn, $sql27); $row27 = mysqli_fetch_row($result27); $sql25 = "select * from Purchases"; $result25 = mysqli_query($cxn, $sql25); ?> <div align="center"> <table border="4" cellpadding="5" cellspacing="55" rules="all" frame="box"> <tr class='heading'> <th>Index</th> <th>Manufacturer</th> <th>Item</th> <th>Price</th> </tr> <?php for($i = 0; $i <$row27[0]; $i++) { $row25 = mysqli_fetch_row($result25) ?> <tr> <td> <?php echo $row25[0]; ?> </td> <td> <?php echo $row25[1]; ?> </td> <td> <?php echo $row25[2]; ?> </td> <td> <?php echo $row25[3]; ?> </td> </tr> <?php } ?> </table> TIA Ethan