addslashes against single and double quotes

From: Date: Thu, 08 Mar 2001 19:14:46 +0000
Subject: addslashes against single and double quotes
Groups: php.general 
Request: Send a blank email to php-general+get-43064@lists.php.net to get a copy of this message
I'm having some problems with using addslashes($string) for preparing a text blob for a MySQL database. The $string can have single or double quotes in it, and depending on how I pass it on to the insert, it seems to work only for either single or double, but not for both. Input can be: This is John's quote "Hello" so I have to be able to capture both single and double and end up with: This is John\'s quote \"Hello\" but it seems like addslashes only handles one or the other but not both. Is this true? Or is it because I quote the $string in my form like this: $string = addslashes($string); echo(" ... <input type='hidden' name='string' value=\"$string\"> ... "); the problem happens before I get to the insert command, because I can echo the $string and see where it chops it if there are an odd number of quotes. In the example above, I would end up with: This is John's quote when I check the passed parameter, it is coded: string=This+is+John%27s+quote+ apparently because the first double quote of the <input> statement is matched to the double quote in the string even tho it was \". If I change the input to <input type='hidden' name='string' value=\'$string\'> then similar things happen, such as it gets chopped at the single quote. I've played around with the input string, both escaping it and using " vs. ' but nothing works for both. Any suggestions? Terry

« previous php.general (#43064) next »