• 締切済み

PHP+MySQL mysql_connectのエラー

PHP初心者なのですが、 PHPを使用して外部ホストのMySQLデータベースから データを取り出すプログラムを開発しています。 mysql_connect関数でデータベースに接続する段階で 内部エラーとなってしまいます。 プログラムは以下のようなものです。 $url = "000.000.00.00";//外部ホストのアドレスです $user = "username"; $pass = "password"; $db = "databasename"; $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); ホストアドレスやユーザー名、パスワードは 以前VisualBasic+ODBC+MySQLでデータを読み込んでいたときに 使用していたものなので、間違いはないと思います。 非常に初歩的な質問で申し訳ありませんが、 非常に困っております。 ご助言よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数3

みんなの回答

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

何のエラーなのか $link = mysql_connect($url,$user,$pass); if (!$link) { die('MySQLへの接続に失敗しました。エラ-:' . mysql_error()); } で確認しませう。

meimu172
質問者

補足

早速のご回答有難うございます。 上記コードに変更して実行してみたのですが、 相変わらず内部エラーで 「ページを表示できません」 と出てきてしまいます。 非常に初歩的なところでミスしているかも知れません。。 何かお心当たりがありましたらまた宜しくお願いします。

関連するQ&A

  • 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
  • レンタルサーバでPHPからMySQLに接続したい

    お世話になっています。 レンタルサーバー(ロリポップ)からPHPを使いMySQLに接続しようとしていますが、うまくいきません。 レンタルサーバー(ロリポップ)でのデータベース作成機能である、phpMyAdminを使ってデータベースを作成しました。 ホスト名:ftp260.lolipop.jp MySQLユーザ:LA12167219 パスワード:**** データベース名:LA12167219 上記の設定の場合、下記のように接続しようとしましたが、エラーメッセージがでます。 <PHPの内容> $con = mysql_connect("ftp260.lolipop.jp","LA12167219","****"); echo $con; <エラーメッセージ> Warning: mysql_connect(): Can't connect to MySQL server on 'ftp260.lolipop.jp' (111) in /pass~/sample.php on line 2 ロリポップの問題なのか、プログラムの問題なのか、よくわかりません。 対処法ご存知の方、アドバイスいただけると助かります。

    • ベストアンサー
    • PHP
  • PHP+mySQL認証画面

    サーバーの引っ越しで新しいサーバーにてプログラムの動作確認を行っています。 管理者パネルに入るのに、PHPで作成した認証プログラムでログインしようとすると、入力しても何度も聞いてきて入れません。 旧 MySQL5.0.22   phpMyAdmin2.8.2.4 新 MySQL5.1.69 phpMyAdmin3.5.8.1  IDとパスワードはデータベースで設定。 管理者パネルで変更できるようになっている。 $sv = "**"; $dbname = "**"; $user = "**"; $pass = "**"; ログイン認証 //データベースに接続する $conn = mysql_connect($sv,$user,$pass) or die("接続エラー"); mysql_select_db($dbname) or die("データーベース接続エラー"); $sql = "SELECT id, pass FROM pass_t WHERE pno=1"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $db_user_id=$row['id']; $db_password=$row['pass']; } if(!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"] != "$db_user_id" || $_SERVER["PHP_AUTH_PW"] != "$db_password") { header("WWW-Authenticate: Basic realm=\"login\""); header('HTTP/1.0 401 Unauthorized'); echo "ユーザー名またはパスワードが間違っています。<br>"; echo "もう一度はじめからやり直してください。"; exit; } 細々変えて試してみましたが駄目でした。 まだまだわからないことだらけの初心者なので、どうにもならずで 解決策がありましたらぜひ教えて頂けますと幸いです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPサイトからMySQL内のデータを知る方法

    質問失礼いたします。 MySQLにあるデータベースをPHPサイトに表示しています。 PHPでは、 【datab.php】で、データベースへ接続し $link = mysql_connect('localhost', 'user', 'pass'); 【hyouji.php】にて、データを表示しています require_once("datab.php"); //SQL文 mysql_close($link); //データ配列 MySQL内のカラムには name , add , memo の3つがあり、PHPに表示させているのは name , add のみです。 しかし、どうやら memo にある内容が閲覧している人にわかったらしいのですが、 どこを見ても、memoの内容は表示されていません。 すみません、うまく言えないのですが… 上記にある【datab.php】の接続方法では、 MySQL内のデータがバレてしまうのでしょうか…? 原因も分からないのですが、何がお知恵をいただけたらと思います。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • 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 接続できません

    php5・MySQL5.0 の 環境でMySQLに接続したいのですが、 うまくいかずに困っています。 参考書の通りに設定したのですが、どこか間違っていたのでしょうか。 コマンドプロンプトから、CREATE TABLE などの操作は問題なくできます。 sample.php ------------------------------------------- <?php $con = mysql_connect("localhost", "username", "pass") or die("接続できません。"); print "接続に成功しました。"; mysql_close($con); ?> 表示された内容 ------------------------------------------- Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in D:\Apache2\htdocs\sample.php on line 8 接続できません。 どうぞよろしくおねがいします。

    • ベストアンサー
    • MySQL
  • PHP+ApacheでMySQLに接続できない。プロンプトからは可能

    以下のようなコードでmysqltest.phpというファイルを作成しました。 これを php -f mysqltest.php とやると成功します。 しかし、ブラウザでhttp://パス/mysqltext.phpとやると失敗します。 双方がどう違うのか教えていただけないでしょうか。 以下コードです。 ----------------------- <html> <body> <?php $hostname = "localhost:/var/lib/mysql/mysql.sock"; $name = "root"; $password = "pass"; printf( "hostname:%s<br>\n" , $hostname ); printf( "username:%s<br>\n" , $name ); printf( "password:%s<br>\n" , $password ); mysql_connect($hostname, $name, $password ) or die('cannot connect to database'); ?> </body> </html> ---------------------------------- 単に「ホスト:ポート」「ユーザネーム」「パスワード」を指定してconnectしているだけです。 コマンドラインから実行すると成功します ---------------------- <html> <body> hostname:localhost:/var/lib/mysql/mysql.sock<br> username:root<br> password:komaba<br> </body> </html> ---------------------------- ブラウザで実行すると失敗します。 ----------------------------- hostname:localhost:/var/lib/mysql/mysql.sock username:root password:pass cannot connect to database -----------------------------

  • PHPからのmysql_connect();がエラーで接続できません。

    QbickUと申します。よろしくお願いします。 環境は、 WinNT / Apache1.3.29 / PHP4.3.6 / MySQL 3.23.49 です。 症状としては、phpで次のように記述し実行すると //サーバー名--localhost ユーザー名--root パスワード--123456 $dbHandle = mysql_connect("localhost","root","123456"); if ($dbHandle == False) { print ("can not connect db\n"); exit; } else { print ("OK\n"); exit; } -- 次のようなエラーが返ります。 Warning: mysql_connect(): Access denied for user: 'SYSTEM@localhost' (Using password: NO) in c:\html\mytest1.php on line 4 can not connect db -- 補足事項なのですが ・MySQL権限の初期設定済みです。 ・コマンドプロンプトからは接続、テーブル操作ができます。(ルート権限 user:root pw:123456、また他の一般権限ユーザーにおいても) ・phpinfo();の結果において、MySQLの表示が確認できます。 ・mysqld-nt.exeはひとつしか起動していません。 'SYSTEM@localhost',password: NOとなっているため、ユーザーID、パスワードとも渡っていないような気がします。 同じようなスレッドを見つけたのですが、いずれもそこで解決に至っておらず、往生しています。 アドバイスをいただけたらうれしいです。よろしくお願いします。

  • 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でmysql接続について

    こんにちは。phpでmysqlに接続するときmysql_connect関数を使っています。 VB等でデータベースに接続するとき、ADOなどの種類がありますが、mysql_connectはどのようにしてmysqlに接続しているのでしょうか? その仕組みを知りたいのですが、関数についてしか載ってません。 ご教授お願いいたします。

    • 締切済み
    • PHP