我正在尝试移植一个与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的准备或报价时,我得到了上面的错误。
发布于 2012-02-08 02:06:01
由于您使用PDO连接到Oracle,因此函数应该是PDO::quote。请注意,PDO::quote会在字符串两边加上引号,而mysql_real_escape_string则不会。
话虽如此,最好使用预准备语句而不是字符串连接来发出SQL语句。从手册中:
如果您正在使用此函数构建SQL语句,强烈建议您使用PDO:: prepare ()来准备带有绑定参数的SQL语句,而不要使用PDO::quote()将用户输入插入到SQL语句中。带有绑定参数的预准备语句不仅更可移植、更方便、不受SQL注入的影响,而且执行速度通常比插值查询快得多,因为服务器和客户端都可以缓存已编译形式的查询。
https://stackoverflow.com/questions/9181159
复制相似问题