PHPコードでPDOモジュールを使用してデータベースに接続しようとしています。私は同様のトピックを読んで検索しましたが、何が間違っているのか理解できません。問題を解決するのを手伝ってください。
Apacheバージョン:Apache / 2.2.21(Win32)PHP / 5.3.10
php.iniファイルで、次の行のコメントを解除しました:extension = php_mysql.dll
2a。phpinfo関数は「ロードされた構成ファイル」の場所がC:\ php\php.iniであることを示しました
2b。phpinfo関数によって表示されるPDOドライバー情報:PDOセクション:PDOドライバー-> MySQL(有効)PDOドライバーfor MySQLセクション:クライアントAPIバージョン-> mysqlnd 5.0.8-dev-20102224-$リビジョン:321634 $(有効) )。
データベースへの接続に使用したコード
$db_user = "uid";
$db_pass = "pd";
$db_connect = new PDO('mysql:host=locahost; dbname=practice; charset=UTF-8', $db_user, $db_pass);
if($db_connect){
print "connected to the db " . "<br />";
} else{
print "error connects to the db. " . mysql_error();
}
私が受け取ったエラーメッセージ:
- 警告:PDO :: __construct()[pdo .--construct]:php_network_getaddresses:getaddrinfoが失敗しました:そのようなホストは不明です。C:\ server \ htdocs \ html-exer \handle_reg3.phpの14行目
- 警告:PDO :: __ Construct()[pdo .--construct]:[2002] php_network_getaddresses:getaddrinfoが失敗しました:そのようなホストは不明です。(14行目のC:\ server \ htdocs \ html-exer \ handle_reg3.phpで(tcp:// locahost:3306経由で接続しようとしています)
- 致命的なエラー:キャッチされない例外'PDOException'とメッセージ'SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo failed:そのようなホストは不明です。'C:\ server \ htdocs \ html-exer \ handle_reg3.php:14スタックトレース:#0 C:\ server \ htdocs \ html-exer \ handle_reg3.php(14):PDO-> __construct(' mysql:host = loca ...'、' root'、' password')#1 {main}が14行目のC:\ server \ htdocs \ html-exer\handle_reg3.phpにスローされます
編集:間違いなくまもなく削除される詳細情報を求める回答を追加しました:
こんにちはあなたの常識:コードフラグメントをありがとう。それは私が問題を解決するのに役立ちました。文字セットが原因である可能性があります。これがデータベースに接続するための私のコードです
$dsn= 'mysql:host=localhost; dbname=practice; charset=utf8';
$db_user = "root";
$db_pass = "mypd";
$db_connect = new PDO($dsn, $db_user, $db_pass);
if($db_connect){
print "connected to the db " . "<br />";
}