[Nelug] php & mysql
James Barton
jb002c4581 at blueyonder.co.uk
Wed Nov 6 00:06:01 UTC 2002
Evening all,
I'm having a spot of bother with getting an update to work on a row in a
MySQL table, accessed with PHP.
I have one table for properties, which contains only text and number fields,
and then another table for propert images, since there are zero to three
images for each property. Having got the data from the html form, including
any uploaded pictures, I INSERT a row into the property table. Then I look at
any uploaded files, and try to insert them into the property_images table.
This all works fine.
But then, depending on the return codes from the routine that stores the
images, I want to set the value '1' (the number, not the character) in a
column if the image was stored correctly, and '0' if an image was not stored.
Now, property_image rows have references to property rows, so this step
isn't strictly neccessary, but I want to use it for safety. I generate a
query that looks like:
UPDATE property SET large_pic=1, small_pic=0, paper_pic=0 WHERE reference =
'rg4'
I hope you'll agree that this is syntactically correct. The result set
returned by mysql says that 1 row has been affected by the query, but no
matter what values are in the query, the values in the row in question do not
change. The key used in the WHERE clause is the same one used to insert the
row initially, and is the primary key for the property table.
What's most confusing is that if I echo the query to the html page, then cut
and paste it in to phpMyAdmin, it works the way it should, and changes one
row.
The fields I'm trying to change are all defined as TINYINT(2) UNSIGNED NOT
NULL, and default to '0'. Changing the default has no effect, as you would
imagine.
I'm at a loss - can anyone think what may be going on?
All suggestions gratefully accepted,
james
More information about the Nelug
mailing list