I'm very new to PHP. Currently,I'm facing one issue to escape \ and store in mysql DB.
eg., If the string is like $str = \\aaaa\bbb\\\cccc$$
, I would like to save that string in DB . However, I don't know how to escape those backslashes. Please help me settle it.
Asked
Active
Viewed 177 times
-1

hhkhaing
- 1
- 1
-
Your code looks like that it has syntax errors. – hakre Sep 28 '11 at 10:12
1 Answers
2
Your best option is to use prepared statements (e.g. through PDO):
$dbh = new PDO(…);
$sth = $dbh->prepare('INSERT INTO `yourtable` ( `column` ) VALUES ( :string )');
$sth->execute(array(':string' => '\\aaaa\bbb\\\cccc$$'));

knittl
- 246,190
- 53
- 318
- 364
-
Just a link to another question that may have some more useful information: [PHP PDO prepared statements](http://stackoverflow.com/questions/1457131/php-pdo-prepared-statements) – Janis Veinbergs Sep 28 '11 at 10:13
-
Thank you.. I've tried that way and '\aaaa\bbb\\cccc$$' is saved to DB rather than '\\aaaa\bbb\\\cccc$$' . – hhkhaing Sep 28 '11 at 12:07
-
Are you sure? Single quotation marks don't interpret escape sequences and prepared statements store values ›as is‹. Maybe you are outputting them incorrectly? – knittl Sep 28 '11 at 12:13
-
Here's my codes $dbo = new PDO("mysql:host=localhost;dbname=test4;","root","123"); $sql = 'INSERT INTO `table1` ( `name` ) VALUES ( :string )'; $sth = $dbo->prepare($sql); $sth->execute(array(':string' => '\\aaaa\bbb\\\cccc$$')); – hhkhaing Sep 28 '11 at 12:15
-
-