Re: Removing slashes from the database
| From: | Aziz Saleh | Date: | Wed, 03 Jun 2015 03:20:15 +0000 |
| Subject: | Re: Removing slashes from the database | ||
| References: | 1 2 3 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-49033@lists.php.net to get a copy of this message | ||
On Tue, Jun 2, 2015 at 11:08 PM, Ron Piggott <ron.piggott@actsministries.org
> wrote:
>
> On 02/06/15 22:58, Aziz Saleh wrote:
>
>
>
> On Tue, Jun 2, 2015 at 10:50 PM, Ron Piggott <
> ron.piggott@actsministries.org> wrote:
>
>>
>> I am working through the process of removing \'s from the database. I am
>> trying to get this query using a variable starting with "<<<"
>>
>> $query1 =<<<EOF
>> UPDATE
TABLE_NAME SET
>> COLUMN_NAME =
>>
>> REPLACE(REPLACE(REPLACE(COLUMN_NAME,'\\\'','\''),'\\\"','"'),'\\\\','\\');
>> EOF;
>>
>> But when I go to execute the query I am getting the error:
>>
>> |#1064 - You have an error in your SQL syntax; check the manual that
>> corresponds to your MariaDB server version for the right syntax to use near
>>
>> '\''),'\\"','"'),'\\','\')' at
>> line 1 |
>>
>> Could someone help me know what \ and ' should be part of this query so
>> it will execute correctly --- only removing \'s from the database table
>> text columns?
>>
>> Thank you.
>>
>> Ron
>>
>
> When you say remove, as replace all occurrences with an empty string, or
> replace with a different character?
>
> I want \" to become just "
> I want \' to become just '
> I also want however \ was escaped to become just \
>
> (I am trying to revert the text back to what it was originally before
> mysql_escape_string was applied)
>
> I hope this helps elaborate.
>
> Ron
>
>
For simplicity sake, do each one in its own query and see which one breaks
if any:
$query1 =<<<EOF
UPDATE TABLE_NAME SET COLUMN_NAME =
REPLACE(COLUMN_NAME,'\"','"')
EOF;
$query2 =<<<EOF
UPDATE TABLE_NAME SET COLUMN_NAME =
REPLACE(COLUMN_NAME,"\'","'")
EOF;
$query3 =<<<EOF
UPDATE TABLE_NAME SET COLUMN_NAME =
REPLACE(COLUMN_NAME,'\\\\','\\')
EOF;
However, personally, I do not recommend this sort of action. Your data
should be escaped in the DB. Your MySQL driver should be handling the
escape/un-escape when setting/retrieving the data.