如何在oracle查询中转义双引号?

时间:2010-01-11 18:56:56

标签: php oracle escaping

我在oracle表中有一些文本字段,它们有双引号。如何在select查询中转义它们,以便我可以在PHP中使用它?

4 个答案:

答案 0 :(得分:3)

如果您尝试这样做,则可能会遇到SQL注入漏洞。请谷歌这一点,并考虑你正在做什么。

答案 1 :(得分:2)

你应该可以做一个

SELECT REPLACE(your_column, '"', '\"') AS your_escaped_column
FROM your_table;

答案 2 :(得分:0)

您是否尝试过:“\”“

答案 3 :(得分:0)

嗯......你会选择它们,就像你在任何其他领域一样。当您将 中的内容放入需要转义它们的数据库时。

根据您正在使用的数据库抽象层或驱动程序,它具有不同的机制。

对于司机,我推荐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"));