2

PHP コードから MySQL データベースに接続しようとすると、すべて問題ないように見え、すべてのクエリが正常に実行されます。ただし、PHPUnit の単体テストでコードをテストすると、次の致命的な PHP エラーが発生します。

PHP 致命的なエラー: 未定義の関数 mysql_connect() を呼び出します。

示されているように、このコードは単体テスト以外では問題なく動作しますが、PHPUnit はエラーを生成します。

4

2 に答える 2

0

PHP 7 以降のバージョンでテストしていると思います。

PHPドキュメント mysql_queryでは、次のように説明されています

警告 この拡張機能は PHP 5.5.0 で廃止され、PHP 7.0.0 で削除されました。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。詳細については、MySQL: API ガイドの選択および関連する FAQ も参照してください。この関数の代替には次のものがあります: mysqli_query() PDO::query()

したがって、2 つの解決策が考えられます。

  1. PHP を下位バージョン (< 7) にダウングレードします。
  2. mysql 関数を MySQLi または PDO に置き換えます。
于 2016-10-07T11:47:36.457 に答える
0

名前空間を使用している可能性が高いため、mysql_queryorMySQLiは未定義です。

次のことを試してください。

$mysqli = new \MySQLi(...);
于 2012-05-18T14:13:52.620 に答える