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
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.
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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