Jump to content

Something wrong with this query


gnuffo1

Recommended Posts

I have the variable stocklevel, which when echoed displays the correct amount, but after I do this query:

[code]$updatestock = "UPDATE products SET products_quantity='$stocklevel' WHERE  products_id=$products_id";
$result = mysql_query($updatestock) or die ('Your stock query doesn't work: ' . mysql_error());[/code]

The php page it's in appears to load fine, doesn't even have any errors, but the field in the DB is ALWAYS updated to 0, no matter what the $stocklevel contains, even though it echos a completely different value on the page. I did have the same query before, but without the ' marks around $stocklevel and that displayed the error saying there was incorrect syntax near '=73' (if 73 was $stocklevel)

What I especially don't get is that just above that query in the php code, I have this one for updating the price, which works absoloutley fine and is in EXACTLY the same format:

[code]$updateprice = "UPDATE products SET products_price=$price WHERE products_id=$products_id";
$result = mysql_query($updateprice) or die ('Your price query doesn't work: ' . mysql_error());[/code]

This one works absoloutley fine all the time, even when I was getting an error messege for the stock one when I didn't have the ' marks around $stocklevel, and as you can see is in exactly the same format as the stock one. I don't understand it at all.

Another weird thing is the stock update query was working fine until I stuck the "or die" bit on the end. Ironically, maybe the error message is causing the problem?
Link to comment
https://forums.phpfreaks.com/topic/3321-something-wrong-with-this-query/
Share on other sites

No, just got rid of the die bit off the end of the the stock update and it still doesn't work. I don't get any errors displayed and the page appears to work, displays the right amount (this is without the ' around $stocklevel) but when I check the database it just doesn't want to update. I've even put curly braces around each query, so:

[code]{
$updateprice = "UPDATE products SET products_price=$price WHERE products_id=$products_id";
$result = mysql_query($updateprice) or die ('Your price query doesn't work: ' . mysql_error());
}
{
$updatestock = "UPDATE products SET products_quantity=$stocklevel WHERE products_id=$products_id";
$result = mysql_query($updatestock);
}[/code]

but to no avial. And just in case you noticed the ' in doesn't for the error messege - that's not what's really in the error messege in the code, I actually have some swear words in it because I'm so annoyed and forgot that you can't have ' unless you \ them when I was censoring, but I digress.
I've fixed it. The problem was that $stocklevel actually contained some html code in it as well, since I scanned it from an external website, but I put the substr bit to remove that code in the wrong if statement and hence it was trying to insert text into a int field; the error was displaying the text in the browser, but because it was mainly html tags the browser didn't output them to the screen so I didn't notice.

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.