0

アプリケーションを PHP 5.2.X から PHP 5.4.4 に移行しようとしていますが、アプリケーションがデータベースに接続する方法に関連する問題がいくつかあります。

新しいサーバーは次の行で失敗します。

$this->db = @mysql_pconnect(_DBHOST,_DBUSER,_DBPASS);

新しいバージョンでアプリがデータベースに接続する方法が変更されたことは知っていますが、他の方法で接続しようとしてもできませんでした。ここにあるサーバー構成に関連していると思います: http://bit.ly/S2px7Q

mysqlnd はインストールされていますが、mysql、mysqli、または PDO はインストールされていません。あれは正しいですか?

4

2 に答える 2

1

Undefined Functionエラーが発生する場合は、mysqlライブラリが PHP のコピーにインストールされていないことを意味します。

この特定のライブラリは廃止されたと見なされているため、これは実際には良いことかもしれません。PHP は、代わりに使用することを推奨する少なくとも 2 つの優れた代替手段を提供します。

mysql_xxx()すべての関数呼び出しを同等の呼び出しに切り替えることをお勧めしますmysqli_xxx()

これにより、最小限のコード変更でより優れたライブラリの使用を開始できます。PDO ライブラリを使用することもできますが、既存のコードを扱っている場合は、より多くの作業が必要になります。

于 2012-08-17T20:46:09.497 に答える
0

同意します。PDO を試してください

$this->db = new PDO("mysql:host=localhost;dbname=mysql", "root", "password");
$this->statement = $db->query('SELECT first_name, last_name FROM users;');
$this->users = $this->statement->fetchAll(PDO::FETCH_ASSOC);
于 2012-08-17T19:57:03.853 に答える