> PHP / MySQL
>
>
>
> I'm using PHP to retrieve user input and store it in MySQL.  PHP's
> addslashes function is used on data going into the database and PHP's
> stripslashes function is being used on data coming from the database.
This
> is allowing me to store and retrieve data with no problems, but it's
causing
> problems when trying to sort data.  In particular, data with double or
> single quotes is getting escaped, which changes it's position in the sort.
>
>
Sounds like you are escaping twice. If you have magic_quotes_gpc enabled
then your data is already being escaped when it's submitted. Most likely
this is your problem.

magic_quotes_gpc is a bad hack and is actually disabled in newer releases.
However, if you're a noob, you might want to leave it on. :-) The problem is
that when magic_quotes_gpc adds slashes to escape quotes and then you
explicitly escape them again with add_slashes() you end up with all quotes
escaped twice.

Now your asking: "why then is there only one slash in the database?"

Simple:

try this:

INSERT INTO sometable VALUES('Ed\'s','\'Pizza\'');

and then...

SELECT * FROM sometable;

+------+----------+
| name | what |
+------+----------+
| Ed's | 'Pizza'  |
+------+----------+

The slashes never actually get inserted into the table so there is no need
to call strip_slashes() on the results either. :-)

Jim Grill



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to