0

インクルード ファイルに奇妙な問題があります。2 日前の PHP 初心者であるため、簡単な修正で済むことを願っています。

次のように、親スクリプトに DB 資格情報を含めようとしているだけです。

デシベル-conn.php

<?php
$dbUsername = "xxx";
$dbPassword = "xxx";
$dbHostname = "localhost";
?>

親.php

<?php
include("c:/inetpub/vhosts/mydomain.net/php-private/db-conn.php");

//echo $dbPassword;
//echo $dbUsername;

$dbHandle = mysql_connect($dbHostname, $dbUsername, $dbPassword) or die("Unable to load page content due to a connection fault.");
unset ($dbHostname, $dbUsername, $dbPassword);

echo "Connected to MySQL<br><br>";
?>

しかし、私はこのエラーが発生しています:

ユーザー 'xxx'@'localhost' のアクセスが拒否されました (パスワードを使用: NO)

これについて(私にとって)奇妙なのは、ユーザー名とホスト名を正常にエコーできるが、パスワードをエコーできないことです。パスワードは空です。しかし、インクルード ファイルに移動し、「dbPassword」からパスワードをコピーして親ページにインラインで貼り付けると、機能します。これは、パスワードが正しいことを証明します。ユーザー名とホスト名が含まれていますが、パスワード変数にアクセスできません!

誰か私をここに連れて行ってくれませんか。open_basedir とこのインクルード ファイルのアクセス許可を使用して、今夜はすでに髪の毛を抜いています!! _

*更新 - *

問題は解決しました。以下の私の回答をご覧ください。

4

4 に答える 4

0

ホスト名として 127.0.0.1 を使用してみてください。問題は、host.ini ファイルに行がないために、PHP がホストとして localhost を受け入れない場合があることです。

于 2012-07-23T06:46:31.550 に答える
0

db-conn.php と parent.php が同じフォルダーにある場合は、直接使用できます

include ('db-conn.php');

そして、私はの使用についてはわかりませんunset ($dbHostname, $dbUsername, $dbPassword);

また、パスワードが設定されていないと言っています。したがって、 $dbPassword 変数には空の文字列を使用する必要があります$dbpassword = '';

于 2012-07-23T05:45:10.163 に答える
0
Access denied for user 'xxx'@'localhost' (using password: NO)

mysql_connect() にパスワードを与えていないことを単に伝えているだけです。 1. 正しい db-conn.php ファイルを含めているかどうかを確認します。2. これを db-conn.php の先頭に追加します

 global $dbUsername, $dbPassword, $dbHostname;
于 2012-07-23T06:03:38.203 に答える
0

時間を無駄にしてごめんなさい。問題が見つかりました。ルートの前に作成したフォルダへの書き込み権限を FTP ユーザーに与えていなかった\php-private\ので、ファイルを変更してアップロードしたときに、実際に FTP ログを確認すると、「アクセスが拒否されました」で失敗していました。権限と kapow を変更しました。現在のインクルード ファイルは正常に動作します。なんてプレブ!

于 2012-07-23T06:50:33.157 に答える