我写了一些经常使用mysqli_
的代码。问题是,我现在需要将此代码与使用mysql_
的代码集成,并负责连接、身份验证等。我不想创建第二个连接,但mysql_
缺少一些功能,例如,准备好的查询。因此,我想以某种方式神奇地将连接“导入”到mysqli
中。这有可能吗?如果是这样,如何做到这一点呢?
发布于 2013-01-18 17:02:19
不,那不可能。
顺便说一句,准备好的语句并不是保证查询安全的唯一方法。
它是每个人都应该使用的占位符,并且它们不一定要使用准备好的语句来实现。
虽然占位符也可以使用mysql_*函数轻松实现
发布于 2013-01-18 17:10:58
不能通过MySQLi扩展重用由mysql_connect
创建的连接资源。您要么必须在当前代码中处理连接,要么重构旧代码。
这并不像听起来那么难。MySQLi还有一个过程化接口,您可以像使用旧的MySQL扩展一样使用该扩展。MySQLi最大的好处是面向对象的接口,这会使重构变得更加复杂。MySQLi本身也支持(封装到方法/函数中) MySQL特性,如预准备语句、事务和连接字符集,但这并不意味着您不能像使用mysql_query
那样提交START TRANSACTION
或SET CHARSET utf8
希望这能有所帮助。如果您有关于重构的更具体的问题,请随时询问:)
发布于 2013-01-18 16:54:18
正如F4r-20所指出的,您只需更改连接到数据库的方式,并用msqli_
函数替换mysql_
函数!
在开始一个项目之前,试着决定你要使用什么,而不是在中间。准备工作节省了大量的时间和类似的问题。
PS。下一次我会使用PDO。它简单,快速,面向对象,并支持多种数据库类型!
编辑:由于您没有访问凭据或如何连接到数据库的权限,您将不得不使用mysql_
,更改到mysqli_
的连接或建立新的连接...对不起:(
https://stackoverflow.com/questions/14395263
复制相似问题