参见英文答案 > Why shouldn’t I use mysql_* functions in PHP? 15个
我已经在这一个超过一个小时了,我可以连接到我的数据库和所有(不会给出任何错误)但是当我尝试使用时我收到以下错误
“的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()
在任何一点上我都没有任何问题,从未见过它.
我在这里问它是因为我在谷歌搜索结果上发了垃圾邮件而上面的问题;不是我拥有的那个.
如果有人可以帮助我,我会很高兴,我在网上找到的教程显示了我写的完全相同的代码.
解决方法:
PHP 7已经摆脱了mysql_query(),因为它以各种方式存在问题! API不鼓励良好的做法,官方的说法是它没有维护,没有准备好的声明!?!它本质上是PHP中最大的问题,它鼓励导致sql注入的不良做法,这是一个重大的糟糕情况.
但是,我确实使用遗留代码库,因此在某些情况下我必须处理与您相同的情况.如果您的代码库很小,只需更新数据库连接方法即可.如果你有一个很大的代码库,我推荐这个:
>将此代码库的php版本回滚到php 5.6,它将得到支持.
>花点时间更新到PDO(你可以创建一个
在PDO周围包装,以减少冗长,仍然允许准备
查询).
>忽略mysqli.如果从mysql_ *升级需要5分钟,你可能做错了,让自己开放sql-injection.只需去PDO并开始使用准备好的查询,这样你就可以在晚上睡觉.
>如果您仍想在更现代的项目中使用php 7,请使用旧的php 5.6遗留代码库启动一个vagrant实例.
标签:php,mysql,undefined,mysql-connect
来源: https://codeday.me/bug/20190722/1503414.html