NorthWind Posted June 12, 2006 Share Posted June 12, 2006 Helloi have a problem with a code. the problem is very weird because this code actually works but sometimes it doesnt. I checked the code for hrs but could not find a problem with it.The code basicly does some database updates on the recent data. updates a few fields...The code actually says that it has updated but sometimes when you go check it from the database, it did not!I'm using MS SQL 2000 on a windows 2003 server, installed 4.4.0.I'm giving all these info because i started to think that its a database problem since the code sometimes work. Did anyone experienced this kind of problem, pls let me know. thanks[code]<?php echo "<table align='center' border='0' cellpadding='6' cellspacing='3'>"; echo "<td height='406' valign='center' align='center'>"; require_once("config.php"); $itemCode = $_GET['itemCode']; $custID = $_GET['custID']; $jobID = $_GET['jobID']; $serial = $_GET['serial']; $eqid = $_GET['eqid']; //$myobno = $_GET["myob"]; $custname = $_GET["custname"]; $custref = $_GET["custref"]; //$pdate = $_GET["purchaseDate"]; echo $itemCode; echo "<br>"; echo $jobID;echo "<br>"; echo $serial;echo "<br>"; echo $eqid;echo "<br>"; echo $custname;echo "<br>"; //$jobInvoiceStatus = $_GET['jobInvoiceStatus']; // Query database $query = "Update JobEquipment SET jobID='$jobID', jobInvoiceStatus='Not Yet Invoiced', custname='$custname', custreference='$custref', sold='1' where (itemCode = '$itemCode') and (serial = '$serial') and (equipID = '$eqid')"; $result = mssql_query($query, $link); //$row = @mssql_fetch_array($result); //if there were no errors ($result == true or has a value) if ($result) { echo "<h3>Success ! \n"; echo "<p>Item( $itemCode ) with serial: $serial has been added to the job."; echo "<p><a href='serials.php'>To Equipment/Serials Page</a> \n"; echo "<p><a href='job.php?jobID=$jobID'>Back to Job</a> \n"; //start of decrease quantity if ($jobID!="") { $querysee = "SELECT * FROM Inventory where (itemCode = '$itemCode')"; $resultsee = mssql_query($querysee, $link); //$rowsee = @mssql_fetch_array($resultsee); //$quantity=$rowsee["quantity"]; while ($rowsee = @mssql_fetch_array($resultsee)) { $quantity=$rowsee["quantity"]; // if ($itemCode==$row["itemCode"]) // { $quantity--; $queryminus = "UPDATE Inventory SET quantity='$quantity' where itemCode='$itemCode'"; $resultminus = mssql_query($queryminus, $link); } } // end of decrease quantity } else { echo "<h2>Database encountered errors with what was input<br>"; } echo "</td>"; echo "</table>";?>[/code] Link to comment https://forums.phpfreaks.com/topic/11769-sometimes-works-and-sometimes-not/ Share on other sites More sharing options...
joquius Posted June 12, 2006 Share Posted June 12, 2006 If it's working on and of maybe check out $link and make sure it isn't getting mixed up with a different connection if you have more db's on the same server.Other than that is it completely random when it doesn't work? Link to comment https://forums.phpfreaks.com/topic/11769-sometimes-works-and-sometimes-not/#findComment-44575 Share on other sites More sharing options...
.josh Posted June 12, 2006 Share Posted June 12, 2006 I don't know what your problem is, but you shouldn't update your database with your variables like that. first off, you should be using $_POST['blah'] instead of $_GET['blah'] and you should be passing your vars with method='post' in your form. 2nd, you should sanitize your variables before using them in queries, with something like this:$blah = msyql_real_escape_string($_POST['blah']);a simpler method if you have a lot of variables is to do like this:[code]foreach($_POST as $key => $var) { $$key = mysql_real_escape_string($var);}[/code] Link to comment https://forums.phpfreaks.com/topic/11769-sometimes-works-and-sometimes-not/#findComment-44601 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.