アプリ版:「スタンプのみでお礼する」機能のリリースについて

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);
?>

A 回答 (1件)

MySQLが4.1以降ですから



$dbType = "mysqli";

では?

またprotocolを明示して

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

としてみてください。



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

この回答への補足

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

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

補足日時:2012/02/15 22:05
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2012/02/16 14:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!