みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

XserverでpearのDBでMySQLに接続

xserver(レンタルサーバー)でPHPでpearのDBクラスを使ってMySQL(データベース)に接続ができません。

Xserver(レンタルサーバー)環境
MySQL5 バージョン:5.0.77
MySQL5 ホスト名:xxx.xserver.jp(仮名)

PHP Version 5.3.3
include_path.:/usr/share/php53/pear
:/usr/share/php

Xserver PHP関連の仕様一覧
PEARインストール済み
<インストール済みライブラリ>
・Archive_Tar
・Auth
・Console_Getopt
・DB
・HTML_Common
・HTML_QuickForm
・HTTP
・HTTP_Header
・HTTP_Download
・Mail
・Net_SMTP
・Net_Socket
・Pager
・PEAR
・XML_Parser
・XML_RPC
・Structures_Grap

データベースは同じくXserverに設置されているphpmyadmin(MySQL5)で作成しました。

/xxx.xsrv.jp/public_html/php_sample/Section63
の中に(dbtest2.php) でおいています。

★以下のコードで接続ができません。
どこが間違っているのか教えて下さい。

<?php
require_once("DB.php");

$dbUser = "sample";// ユーザー名(仮名)
$dbPass = "password";// パスワード(仮名)
$dbHost = "xxx.xserver.jp";// ホスト名(仮名)
$dbName = "sampledb";// データベース名(仮名)
$dbType = "mysql";// データベースの種類

$dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";

$conn = DB::connect($dsn);

// 接続に失敗したらメッセージを表示して終了します。
if (DB::isError($conn))
{
die($conn->getMessage());
}

print('接続に成功しました。');

// データベースから切断します。
$conn->disconnect();
?>

★ちなみにPHPのmysql_connect関数からは接続成功しました。

<?php
$con = mysql_connect("xxx.xserver.jp", "sample", "password")
or die("接続できません。");
print "接続に成功しました。";
mysql_close($con);
?>

投稿日時 - 2012-02-14 21:27:55

QNo.7305437

すぐに回答ほしいです

質問者が選んだベストアンサー

MySQLが4.1以降ですから

$dbType = "mysqli";

では?

またprotocolを明示して

$dbHost = "tcp+xxx.xserver.jp";

としてみてください。



(蛇足)
PEAR::MDB2はインストールされていないのですかね。PEAR::DBを使うくらいならPDOの方がいいような気もしますが・・・

投稿日時 - 2012-02-15 00:49:31

補足

解答ありがとうございます。
テストしたいのですが他のページをテストしているうちに「500 Internal Server Error」ですべてのページが見れなくなってしまいました。トホホ、、、

パーミッションを変えても直らず、今サーバーに問い合わせています。
結果はしばらく待って下さい。すいません。

投稿日時 - 2012-02-15 22:05:26

お礼

つながりました!
ありがとうございました。

MDB2は自分で用意してUPの必要があるようです。
取りあえずDBはすでにサーバー側でインストール済みなのでこちらでテストしました。
MDB2にも挑戦してみたいと思います。またよろしくお願いします。

ありがとうございました。

投稿日時 - 2012-02-16 14:48:51

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問