|
Posted by Robin on 10/24/06 10:59
Jerry Stuckle wrote:
> Jerry Stuckle wrote:
>> davek wrote:
>>
>>> (posted to: php.general, comp.lang.php, alt.php, alt.php.sql)
>>>
>>> I have a form where registered users on my site can edit their login
>>> details. For some reason, the script is inserting an extraneous quote
>>> mark in the mysql update query that is preventing it from running
>>> successfully, but I am at a complete loss to understand why.
>>>
>>> This is my code:
>>> $sql = "UPDATE users SET
>>> username = '{$usr}',
>>> password = '{$pwd}',
>>> fullname = '{$_POST['fullname']},
>>> email = '{$_POST['email']}'
>>> WHERE userid = '{$usrid}'";
>>>
>>> if (@mysql_query($sql)) {
>>>
>>> //send email to user confirming changes
>>>
>>> } else {
>>>
>>> echo "<p>Error updating details: " . mysql_error() . "</p>";
>>>
>>> }
>>>
>>> This is the error message:
>>> Error updating details: You have an error in your SQL syntax near
>>> 'xxxx@xxxx.com' WHERE userid = '15'' at line 4
>>>
>>> I have checked that the $usrid variable does not contain the quote
>>> mark.
>>>
>>> Anyone have any bright ideas?
>>>
>>> cheers,
>>>
>>> d.
>>>
>>
>> `password` is a MySQL reserved word.
>>
>
> I should also add:
>
> fullname = '{$_POST['fullname']},
>
> has mismatched quotes.
>
And insecure without any validation.
Robin
Navigation:
[Reply to this message]
|