0

エラー: データベースが選択されていません

ARVIXE (Windows 2008 サーバー) でホストされ、現在は IXWEBHOSTING (Windows 2003 サーバー) でホストされている Web サイトがあります。移動はとても簡単でした。サイトの PHP ファイルをダウンロード/アップロードし、MySQL データベースをエクスポート/インポートして、構成 PHP ファイルを新しいデータベース情報を指すように変更するだけです。

現在、サイトを自分のサーバーに移動しようとしています。DNS、サーバー、ネットワークに問題はありません。私はこれを15年間行っています(プログラミングではありません)。
これは私の実際のサーバーです: Windows 2003 STD SP2、IIS6、PHP5.2.12、MySQL 5.0.96、FastCGI 1.5。およびすべての MS アップデート。

コードまたは MySQL のアクセス許可であると結論付ける前に、ここに私を出します...ここを含むインターネット上のすべてのデータベースが選択されていないというエラーを読んだことがあります。 ..しかし、これではありません。以下のシナリオを参照してください。そうでない理由がわかります。

  • シナリオ 1 PHP ファイルは IXWEBHOSTING サーバーに置かれています。config PHP ファイルは、正常に動作する自分の MySQL サーバーを指しています。

  • シナリオ 2 PHP ファイルは IXWEBHOSTING サーバーに置かれています。config PHP ファイルは、正常に動作する IXWEBHOSTING MySQL サーバーを指しています。

  • シナリオ 3 PHP ファイルが Win2k3 サーバーに置かれています。config PHP ファイルが IXWEBHOSTING MySQL サーバーを指していると、「データベースが選択されていません」というエラーが表示されます。

  • シナリオ 4 PHP ファイルが Win2k3 サーバーに置かれています。config PHP ファイルが自分の MySQL サーバーを指しているため、「データベースが選択されていません」というエラーが表示されます。

したがって、シナリオ1が証明しているように、自分のMySQLサーバーまたはPHOコードに対するMySQL権限とは何の関係もないという事実を知っています。私のサーバーのPHPに問題があるようです。

OLD PHP と MySQ をインストールする前に、PHP 5.3.13 と MySQL 5.5.25 の最新バージョンと同じ FastCGI バージョンを使用していました。私はまったく同じ問題を抱えていました!!!! 古いバージョンをインストールしたのは、IXWEBHOSTING サーバーのバージョンを合わせたかったからです。

上記のインストールの前に、Windows は毎回、hyper-v サーバーに最初からインストールされていました。更新なし MS の更新はサーバー上で最初の試行と最後のインストールで行われ、すべての MS の更新が行われましたが、まだ同じ問題があります。

Windows 2008 STD、PHP 5.3.13、および MySQL 5.5.25 でも同じ問題が発生しました。

PHP は、MySQL への接続を確立するために適切な拡張機能をすべてロードしています。また、問題なく PHPmyAdmin を実行しています。

私も設定ファイルで試してみましたが、うまくいきませんでした

インデックスには多くのものがありますが、これはデータベースとクエリへの接続を確立するために必要なものであり、失敗する場所です。

設定ファイル

<?
$usuarios_sesion="youth";
$host="localhost";
$user="usernamehere";
$pass="passwordhere";        
$db="databasehere";
$tabla="users";
?>

Index.php ファイル

<?
require ("enlaces_config.inc.php");

$menu=mysql_query("SELECT id_cat, name_cat FROM categories WHERE access=0 AND published=1") or die ("Can't select categorias MySQL says: ".mysql_error());

?>

この時点で、他に何ができるかわかりません...権限、おそらくMySQL権限ではなく、ユーザーはデータベースに対する完全な権限を持っています。シナリオ 1 と 2 もそれを証明しています。

PHP 情報を確認する必要がある場合は、お知らせください。実行用のphpファイルの名前を掲載します

ヘルプ!

4

1 に答える 1

0

問題は、サーバーに書き込んだすべてのものではありません。
データベースからデータをフェッチしようとするときは、基本的に次の手順に従う必要があります-

  1. 接続を作成する

    これには、データベース、ユーザー名、パスワード、およびホスト名を使用して接続することが含まれます。非推奨mysql_connect()ですが、を使用できます。

  2. そのホストからデータベースを選択する必要があります。

  3. 手順2で選択したdb接続を使用してmysqlクエリを実行します。

最初にデータベースの概念をよく理解してから、phpを使用して実装することをお勧めします。
始めるのに最適な場所http://w3schools.com

于 2012-07-12T19:16:44.587 に答える