我在oracle表中有一些文本字段,它们有双引号。如何在select查询中转义它们,以便我可以在PHP中使用它?
答案 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"));