繁体   English   中英

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

[英]How do I escape double quotes in oracle query?

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

您应该能够

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

奇怪的是,如果您尝试执行此操作,则可能是在处理SQL注入漏洞。 请对此进行Google搜索,然后考虑一下您在做什么。

你有没有尝试过: ”\\””

好吧...您可以像选择其他任何字段一样选择它们。 这种情况下,您需要将内容放入数据库中以对其进行转义。

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

对于驱动程序,我建议使用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"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM