Hi ahlai,
can you be more specific?
If you use this statement:
This means this in plain english:
* I would like to change all rows, whose column called data_name have a value of '$data_name' (of course expanded to the current value of this variable), such as the column data_value gets the new value $new[$data_name].
It does not matter how many rows match your WHERE condition - all get updated.
Also consider what happens if you have no WHERE - Statement: All rows of your table get changed.
As you see, an Update is nearly always updating more than one row.
You can also change mutliple columns:
Does this help?
Happy Querying!