当我尝试从 PHP 代码连接到我的 MySQL 数据库时,一切似乎都很好,所有查询都成功执行。但是,当使用 PHPUnit 中的单元测试对代码进行测试时,我收到以下致命的 PHP 错误:
PHP 致命错误:调用未定义的函数 mysql_connect()。
如前所述,此代码在单元测试之外运行良好,但 PHPUnit 会产生错误。
您可能正在使用命名空间,因此mysql_query
orMySQLi
在那里未定义。
尝试以下操作:
$mysqli = new \MySQLi(...);
我相信您正在使用 PHP 7 或更高版本进行测试。
在php 文档 mysql_query中,它们描述了以下内容
警告 此扩展在 PHP 5.5.0 中已被弃用,并在 PHP 7.0.0 中被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此函数的替代方法包括: mysqli_query() PDO::query()
因此,两种可能的解决方案: