我已经在这里待了一个多小时了,我可以连接到我的数据库和所有(不会给出任何错误)但是当我尝试使用时出现以下错误 “的mysql_query($查询);”
Call to undefined function mysql_query()
我已经尝试过启用:
extension=php_mysql.dll
extension=php_mysqli.dll
我添加了:
extension_dir = "ext"
extension=php_mysql.dll
在导入列表的末尾。
在我做的每一次更改之间,我重新启动了exampp中的所有进程,并且在我单独尝试它的每个解决方案之后仍然会出现这个恼人的错误。
我试过在网上看,但唯一与我类似的错误是:
Call to undefined function mysql_connect()
在任何时候我都没有遇到任何问题,从未见过它。
我在这里问它是因为我在谷歌搜索结果上发了垃圾邮件而上面的问题;不是我的那个。
如果有人可以帮助我,我会很高兴,我在网上找到的教程显示的是与我编写的完全相同的代码。
答案 0 :(得分:6)
PHP 7已经摆脱mysql_query()
,因为它在各方面都存在问题! API不鼓励良好的做法,官方的说法是它没有维护,没有准备好的声明!?!它本质上是PHP中最大的问题,它鼓励导致sql注入的不良做法,这是一个重大的糟糕情况。
但是,我确实使用遗留代码库,因此在某些情况下我必须处理与您相同的情况。如果您的代码库很小,只需更新数据库连接方法即可。如果你有一个很大的代码库,我推荐这个:
答案 1 :(得分:4)
答案很简单,此信息在PHP 7发布之前很久就已been available。它已被删除,他们建议转移到mysqli或PDO。有关迁移需要了解的完整变更列表,请参阅this指南。
true
已被删除,这意味着它们可以重新定义。您可以创建引用MySqli或PDO的包装函数。mysql_*
函数只提供了MySQL真正提供的功能。 (考虑事务,预处理语句,异步查询等)我并不是说使用MySqli或PDO会神奇地阻止MySQL注入,但至少它们提供原生支持来抵御这类攻击。剩下的由你决定;程序员,确保将数据指向需要的位置。