我正在尝试移植与MySQL一起使用的php文件。我的目标是让这个文件与Oracle而不是MySQL一起使用。我已经切换了所有的连接字符串。我现在很难找到以下的Oracle等效命令:
mysql_real_escape_string($string);
有人可以告诉我它会是什么,或者将我引导到可以告诉我的地方。谢谢!
我尝试了PDO::quote
和PDO::prepare
,并为准备和对象说Call to a member function prepare() on a non-object
。这样做的目的是让TightURL直接从我的Web服务器上运行。我的Web服务器使用Oracle,而不是MySQL,所以我不得不将主php文件转换为与Oracle一起使用。
我在使用MySQL的WAMP服务器上尝试过它并且效果很好,但是当我尝试使用Oracle的准备或引用时,我得到了上面的错误。
答案 0 :(得分:5)
由于您使用PDO连接到Oracle,因此该函数将为PDO::quote。请注意,PDO::quote
会在字符串周围放置引号,mysql_real_escape_string
则不会。
话虽如此,最好使用预准备语句而不是字符串连接来发出SQL语句。从手册:
如果您正在使用此函数来构建SQL语句,那么您就是 强烈建议使用PDO :: prepare()来准备SQL语句 使用绑定参数而不是使用PDO :: quote()进行插值 用户输入到SQL语句中。带有约束的预备语句 参数不仅更便携,更方便,不受SQL的影响 注入,但通常比插值快得多 查询,因为服务器端和客户端都可以缓存已编译的表单 查询。