Oracle中"mysql_real_escape_string"的等效命令是什么?

aml*_*e86 2 php mysql oracle pdo zend-framework

我正在尝试移植与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的准备或引用时,我得到了上面的错误.

web*_*ave 5

由于您使用PDO连接到Oracle,因此该函数将是PDO :: quote.请注意,PDO::quote在字符串周围放置引号而mysql_real_escape_string不是.

话虽如此,最好使用预准备语句而不是字符串连接来发出SQL语句.从手册:

如果您使用此函数来构建SQL语句,强烈建议您使用PDO :: prepare()来准备带有绑定参数的SQL语句,而不是使用PDO :: quote()将用户输入插入到SQL语句中.带有绑定参数的预处理语句不仅更易于移植,更方便,不受SQL注入的影响,但执行速度通常比内插查询快得多,因为服务器端和客户端都可以缓存查询的编译形式.