2

Web サイトのページごとに 65 レコードを返すページ ナビゲーション スクリプトがあります。私のホスティングプロバイダーが私を別のサーバーに移動するまで、それは正常に機能していました. ページに移動すると、次のエラーが表示されます。

Warning: mysqli::connect() [mysqli.connect]: (28000/1045): Access denied for user 'root'@'localhost' (using password: NO) in /home/jumbleweed/public_html/registry/browse_2004.php on line 10

Warning: mysqli::query() [mysqli.query]: invalid object or resource mysqli in /home/jumbleweed/public_html/registry/page.php on line 34

Line 9:  $db = new mysqli('localhost', 'my_username', 'my_password', 'my_database');
Line 10: $db->connect();

page.php の 34 行目:

public function countRecords() {
            //returns the number of records
            global $db;
            $count_query = "SELECT COUNT(*) FROM (".$this->query.") as temp";
Line 34:    $result = $db->query($count_query);
            $row = $result->fetch_row();
            return $row[0];
        }

明らかに、データベースに接続するための正しいログイン資格情報が入力されていますが、それらを無視して、ユーザー名として root でログインしようとしているようです。

これは、私のホスティング プロバイダーとサーバーのセットアップ方法の問題ですか??

4

2 に答える 2

1

connect()MySQLi コンストラクターを使用しているため、データベースに自動的に接続されるため、メソッドを使用する必要はありません。

この行を削除すると、動作するはずです...

Line 10: $db->connect();
于 2012-12-20T16:26:12.487 に答える
0

ええ、コメント者によると、私は ->connect() 呼び出しを削除します。それがあなたのコードを壊しているものです。localhost に切り替えると、IP 接続の代わりにソケットが使用されます。

于 2012-12-20T16:09:32.503 に答える