• 締切済み

PHPのPEARでDBに接続していますが、、

フリーで提供しているサーバ @PAGES を ご利用の方がいましたら教えてください。 データベースに接続すると、 画面に何も表示されません。。 理由はなぜでしょうか? @PAGESからの データベース(mysql)利用情報 データベースホスト名は、localhost データベース名は、db0osa データベースの接続ユーザ名は、osa パスワードは、a3356df25 私は、下記のように設定しています。 dbConn=DB::connect("mysql://osa:a3356df25@localhost/db0osa"); 初心者な質問ですいません。 よろしくお願いいたします。

noname#58128
noname#58128
  • MySQL
  • 回答数3
  • ありがとう数0

みんなの回答

  • gmataw
  • ベストアンサー率50% (12/24)
回答No.3

まず、DB の接続情報をサイト上もしくはメーリングリスト上で公開するのは !!! 絶対 !!! にやめましょう。 個人的な情報しか DB に登録されていないのならともかく、他人の個人情報が 登録されていたりした場合は個人情報の漏洩につながります。 PHP の件は、error_reporting を適切に設定してみるとエラーが表示される 場合があります。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

つまらないことですが、PHPの変数は「$」がつくのでは dbConn=DB::connect("mysql://osa:a3356df25@localhost/db0osa"); の「dbConn」が「$dbConn」の打ち間違いなんて。

noname#58128
質問者

補足

ご回答ありがとうございます。 実際は $this->dbConn=DB::connect("mysql://ugo:a3356df25dd04218dac8@localhost/db0ugo"); と記述しております。 nora1962さんのアドバイス通りにしましたが、 できませんでした。。

  • asuncion
  • ベストアンサー率33% (2126/6286)
回答No.1

接続しただけですから、何も表示しなくてかまわないのではないでしょうか。 データベースの中身を取り出して出力するようなコードを書いてみてください。

noname#58128
質問者

補足

ご回答ありがとうございます。 詳細にお話いたします。 現在作成しているプログラムは、クラスを用いて構成しています。 ベースとなるクラスを作成し、すべてのプログラムが一度そこを読み込みます。 ベースとなるクラスには、 (1)PEARのDB.phpを読み込んで、 (2)DB接続の共通部分を記述しています。 (ここにdbConn=DB::connect("mysql://osa:a3356df25@localhost/db0osa");が記載しています) XAMPP環境(ローカル)ではうまく実行できました。 うまくいかない@PAGESでは、 上記の接続部分をコメントにすると画面が表示されます。 @PAGESに質問を出していたのですが、 なかなか返答がなく、こちらで知っている方がいらっしゃったら 教えて頂きたいと思いました。 よろしくお願いいたします。

関連するQ&A

  • PEAR::DBでのMySQL接続

    初心者で、環境が分からなくて困っています。 環境は、OS:Win2000 , PHP-V5.2.4 , MySQL-V5.0.45 , PEAR::DB -V1.7.13 です。 MySQLと、PEAR::DBをインストールして、CONNECTするPGを実行したところ、CONNECTエラーとなりました。 1.PHPソース require_once("DB.php"); $dsn="mysqli://pearusr:pearpass@localhost/pear"; $option=array( "autofree"=> TRUE, "debug"=>3, "portability"=> DB_PORTABILITY_ALL); $db=DB::connect($dsn,$option); if(DB::isError($db)){ die("接続失敗:".$db->getMessage().$db->getCode().$db->getDebuginfo()); } print("データベースへの接続に成功しました。"); $db->disconnect(); 2.エラーメッセージ 接続失敗:DB Error: connect failed-24 [nativecode=Can't connect to MySQL server on 'localhost' (10061)] ** mysqli://pearusr:pearpass@localhost/pear MySQL側の環境について、他QAでいろいろ教えていただき、ちゃんと起動できていそうです。 そうすると、次に疑うのは、PEAR::DBの環境がおかしいのではないか? という想像のもと、PEAR::DBの環境設定まわりで、確認すべき項目を教えていただけませんか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEAR DB::connectメソッドの引数

    接続文字列の一般的な書式として以下のように書かれていました。 DB::connect("データベースの種類://ユーザ名:パスワード@ホスト名/データベース名"); レンタルサーバ(ロリポップ)でMySQLを利用するつもりですが、 「mysql://」以降の記述がわかりません。 PHPMyAdminのログインで使うユーザ名やパスワードのことでしょうか?

    • 締切済み
    • PHP
  • PEARのDBが動かない・・orz

    PEARのDBを使ってMYSQLに接続しようとしているのですが、動作しません。 試しに↓のようなコードを書いたところ 画面「a」は出たのですが「b」が出ませんでした。 --コード----------------------------------------- require_once("DB.php"); $dsn = "mysql://user:password@localhost/db_name; echo("a"); $db = DB::connect($dsn , true); echo("b"); -------------------------------------------------- なにかエラーがでれば手がかりになるのですが、 エラーも何もでません。 MDB2で試しても結果は同じでした。 解決方法を教えて頂けないでしょうか? ちなみにPHPのversionは5.1.2 MYSQLは4.1.7になります。

    • 締切済み
    • PHP
  • PHP5 DB問い合わせ時のエラーについて

    PHP5について質問です。 よろしくお願いします!! 下記のソースでDBへ問い合わせするとエラーがでます。 $this->dbConn=DB::connect("mysql://root:@localhost/a_db"); $this->link=mysql_connect("localhost","root","") or die("MSQLの接続に失敗"); $this->mysql=mysql_select_db(a_db) or die("データベースとの接続に失敗"); $this->query= "select * from customer_table01"; var_dump($this->query); $this->result=mysql_query($this->query) or die("クエリーを実行できず"); $this->rows=mysql_num_rows($this->result); $this->if($rows == 0 ){ print ("該当するデータがなし"); }else{ } エラー内容 Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\y\baseClass.php on line 56 56行目とは、$this->if($rows == 0 ){ の部分です

    • ベストアンサー
    • PHP
  • PHPからMySQLに接続することができません。

    PHPからMySQLに接続することができません。 解決方法をご存じの方は教えていただけないでしょうか。 PHPから、mysql_connect を行った際、以下のエラーが発生してしまいます。 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) 環境 OS:CentOS 5.3 DB:Mysql 5.0.67(ソースからインストール) Web:Apache PHPのソースの一部を以下に記します。   $db_host = 'localhost';//DB_NAME;   $db_user = 'user';//DB_USER;   $db_pass = 'pass';//DB_PASS;   $db = mysql_connect($db_host,$db_user,$db_pass); 以下の方法も試したのですが、エラーメッセージは変わりませんでした。   $mysql_connect("localhost:/tmp/mysql.sock","mysql","passwd") 端末のコマンドからMySQLへの接続は成功します。 ホスト名、ユーザー名、パスワードも上記と同一のものです。   $ /usr/local/mysql/bin/mysql -h localhost -u user -p   Enter password:pass 以上です。宜しくお願いします。

    • 締切済み
    • PHP
  • 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); ?>

    • ベストアンサー
    • PHP
  • Windows、Apache、PHP、MySQLを使ったwebアプリケーションのエラー

    widows環境でMySQLで作ったデータベースをApache+PHPでwebページで見れるようにしたいと思い、 http://www.yamada-lab.org/doc/win/mysql5/4/0401.html#a2 このページの通りに進めていました (データベースの内容は少し変更しました) しかし、いざページを開いてみると 「Parse error: syntax error, unexpected T_STRING in C:\test\connect01.php on line 8」 とでてきて、うまく表示されません。 syntax errorなので、文法ミスだとは思いますが、どこが違うかがわからないので、どなたか教えてください。 使用しているPCは   OS:Windows XP professional MySQL:5.1.38 PHP:5.2.10 apache:2.2.13 です。 --以下、connect01.phpの中身の途中まで-- <html> <head> <title>connect.php</title> </head> <body> <?php  //データベースサーバ名の設定  $db_host  = "localhost";  //ユーザ名の設定  $db_user  = "webapl";  //パスワードの設定  $db_passwd = "pass1234";  //データベースサーバへの接続  $db = mysql_connect($db_host,$db_user,$db_passwd); ---- エラーが出ているのは、「 $db_host  = "localhost";」の行ですが、 サーバー名、ユーザー名、パスワードに関する3項目を消し、 データベースサーバへの接続を $db = mysql_connect(localhost,webapl,pass1234); と書きかえても、この行でエラーが出ていました。

    • ベストアンサー
    • PHP
  • PHPからMySQL・異なるDBにコピー

    PHPからMySQL・異なるDBに接続し同じ構造のテーブルのデータをコピーすることは可能ですか? 以下を実行するとクエリが実行されず「コピーできません」が表示されてしまいます。 どのようにすればコピーできるか教えてください。 $connect1 = mysql_connect("localhost", "user1", "pass1") ; mysql_select_db("db1", $connect1); //db1内にtable1 $connect2 = mysql_connect("localhost", "user2", "pass2") ; mysql_select_db("db2", $connect2); //db2.内にtable2 $sql = "INSERT INTO `db1` . `table1` SELECT * FROM `db2` .`table2`;"; $result = mysql_query($sql, $connect1)or die("コピーできません"); //$result内「$connect1」でも「$connect2」結果は同じです。 //table1とtable2の構造は同じです。

    • ベストアンサー
    • PHP
  • PHPからのDB接続がうまくいかない

    mysqlやpsqlからはつながるのに、phpMyAdminやphpPgAdminで同じホスト、ユーザー名、パスワードを指定してもアクセス拒否されてしまいます。 具体的には、仮想化環境にゲストとしてウェブサーバーとDBサーバーの2台があり、2台は別々の仮想ブリッジインターフェイスに接続されていて、仮想化ホストがiptablesでアクセス制限、ルーティングを行っております。 mysqlやphpMyAdmin、psqlやphpPgAdminはどちらも同じウェブサーバーからDBサーバーをホストとして指定してアクセスしています。 DBサーバーのMySQLもPostgreSQLも次のような感じでユーザーを追加してあります。(PostgreSQLはpg_hba.confもMySQLと同じ内容になるよう設定済み) GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'ウェブサーバーアドレス' IDENTIFIED BY 'パスワード'; phpMyAdminに接続先情報を設定して接続しようとすると次のようなメッセージが表示されます。 「#2003 - Can't connect to MySQL server on 'DBサーバーアドレス' (13) サーバが応答しません。」 phpPgAdminでは次のメッセージが表示されます。 「ログインに失敗しました」 ちなみに、すべてのアドレスからの接続を許可するようにSQLサーバーを設定しても同じでした。 どこか設定が抜けているのでしょうか。 宜しくお願いいたします。

  • FC4でmysqlを使用して PEAR DB への接続ができない

    FC4に、yumでPHP5.0.4、php-pear-5.0.4、php-mysql-5.0.4、(mysql-4.1.20,mysql-server-4.1.20)をインストールしました。 <?php $con = mysql_connect("localhost","taro","password") or die("接続出来ません"); print "接続しました"; mysql_close($con); ?> を実行すると、「接続しました」と出ます。ところが、 <HTML> <HEAD><TITLE>PHP test</TITLE></HEAD> <BODY> <?php require_once("DB.php"); $dbUser="taro"; $dbPass="password"; $dbHost="localhost"; $dbName="testdb"; $dbType="mysql"; $dsn="$dbType://$dbUser:$dbPass:@$dbHost/$dbName"; $conn = DB::connect($dsn); if(DB::isError($conn)){ die($conn->getMessage()); } print ('DBに接続しました'); $conn->disconnect(); ?> </BODY></HTML> を実行すると、DB Error: connect failed と出て、接続できません。 php.iniは、 include_path = ".:/usr/share/pear:/php/includes" としてあり、 [root@FC4 ~]# ls -l /usr/share/pear/ で調べても drwxr-xr-x 2 root root 4096 5月 27 18:06 DB -rw-r--r-- 1 root root 38937 11月 8 2005 DB.php となっています。 パスの切り方が間違っているでしょうか? どのようにすれば接続できるでしょうか?よろしくお願い致します。

    • ベストアンサー
    • MySQL