PHPUnit未定义函数mysql_connect()

时间:2012-05-18 13:18:04

标签: php mysql phpunit

当我尝试从PHP代码连接到我的MySQL数据库时似乎都很好,所有查询都成功执行。但是,当在PHPUnit中使用单元测试测试代码时,我得到以下致命的PHP错误:

  

PHP致命错误:调用未定义的函数mysql_connect()。

如上所述,此代码在单元测试之外工作正常,但PHPUnit会生成错误。

2 个答案:

答案 0 :(得分:0)

您可能正在使用命名空间,因此mysql_queryMySQLi未定义。

尝试以下方法:

$mysqli = new \MySQLi(...);

答案 1 :(得分:0)

我相信您正在使用PHP 7或更高版本进行测试。

php documentation mysql_query中,他们描述了以下内容

  

警告   此扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括:   mysqli_query()   PDO ::查询()

所以,有两种可能的解决方案:

  1. 将PHP降级为较低版本(< 7);
  2. 用MySQLi或PDO替换你的mysql函数。