Как избежать двойных кавычек в запросе оракула? - PullRequest
4 голосов
/ 11 января 2010

У меня есть несколько текстовых полей в таблице оракула, которые имеют двойные кавычки. Как избежать их в запросе выбора, чтобы я мог использовать его в PHP?

Ответы [ 4 ]

3 голосов
/ 11 января 2010

Скорее всего, если вы пытаетесь это сделать, вы имеете дело с уязвимостью SQL Injection. Пожалуйста, Google это и подумайте, что вы делаете.

2 голосов
/ 11 января 2010

Вы должны быть в состоянии сделать

SELECT REPLACE(your_column, '"', '\"') AS your_escaped_column
FROM your_table;
0 голосов
/ 11 января 2010

Ну ... вы бы выбрали их так же, как в любом другом поле. Это когда вы помещаете вещи в в базу данных, где вам нужно их избежать.

Это имеет разные механизмы в зависимости от того, какой уровень абстракции базы данных или драйвер вы используете.

Для водителей я рекомендую PDO. Таким образом, не имеет значения, какую базу данных вы используете, экранирование поля для ввода всегда будет выглядеть примерно так:

// Assuming that $dbh is a valid PDO object, like this one:
// $dbh = new PDO('oci:dbname=//hostname:1521/scott', 'scott', 'tiger');
// That's 'oci:dbname=//hostname:port-number/database', username, password

$sql = "SELECT * FROM myTable WHERE name = ':myName'";
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':myName' => "Ed O'Neil"));
0 голосов
/ 11 января 2010

Вы пробовали: "\" "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...