Wierd和Annoying错误:调用未定义的函数mysql_query()

use*_*011 5 php mysql undefined mysql-connect

我已经在这一个超过一个小时了,我可以连接到我的数据库和所有(没有给出任何错误)但是当我尝试使用"mysql_query($ query);"时我收到以下错误

Call to undefined function mysql_query()
Run Code Online (Sandbox Code Playgroud)

我已经尝试过启用:

extension=php_mysql.dll
extension=php_mysqli.dll
Run Code Online (Sandbox Code Playgroud)

而且我补充说:

extension_dir = "ext"
extension=php_mysql.dll
Run Code Online (Sandbox Code Playgroud)

在导入列表的末尾.

在我所做的每一次更改之间,我重新启动了exampp中的所有进程,并且在我单独尝试它的每个解决方案之后仍然会出现这个恼人的错误.

我试过在网上看,但唯一类似于我的错误是:

Call to undefined function mysql_connect()
Run Code Online (Sandbox Code Playgroud)

在任何一点上我都没有任何问题,从未见过它.

我在这里问它是因为我在谷歌搜索结果上发了垃圾邮件,上面的问题; 不是我拥有的那个.

如果有人可以帮助我,我会很高兴,我在网上找到的教程显示了我写的完全相同的代码.

phpInfo:顶部 phpInfo:sql

Kzq*_*qai 6

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实例.