• 締切済み

【至急】MySQLのエラーを解消したいのですが?

データを間違って消してしまい、サーバーにデータを バックアップ復活したのですが、以下の様なエラーが生じており、 困っております。 MySQLのエラーを解消したいのですが?、知識がなく、どうすればいいのでしょうか? ・1)Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL Server Host '0net' (1) in /ファイルパス/ファイル.php on line 7 ・2)Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /ファイルパス/ファイル.php on line 8 ・3)Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /ファイルパス/ファイル.php on line 8 ・4)Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /ファイルパス/index.php on line 5 ・5) Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /ファイルパス/index.php on line 5 ・6) Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /アフィルパス/index.php on line 6 ・7) Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /ファイルパス/index.php on line 6

  • MySQL
  • 回答数6
  • ありがとう数12

みんなの回答

回答No.6

mysql on linux http://www.atmarkit.co.jp/flinux/rensai/mysql02/mysql02.html とりあえず、show databaseなど状況確認をするためのSQLだけを発行し、insertやupdateやdeleteなどはDBに変更を加えるSQLは発行しないでください。 (show database;の結果に mysql は必ず有ります。これは関係ないです) で他の名前のDBが無かったりテーブルが存在しない場合は、今までのデータは消えたという事です。 セットアップ用のSQLを発行するか、セットアップ用のPHPスクリプトがあれば、それを実行して、新規にセットアップする以外にはないでしょう。 両方とも無ければ、ソースが読めないとお手上げです。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.5

>Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource まずは mysql_num_rows() とはどういう関数か、などを調べることをお勧めします。 http://manual.xwd.jp/function.mysql-num-rows.html mysql_num_rows()とは「『結果における行数を返す』関数である」と書かれています。 以上のことから、「結果における行数を取得できなかった」ことが理由によるエラーであることになります。 他の物も同様の理由によるものです。 そのPHPはデータがあることを前提に作られており、データが未登録の場合を考慮していません。 ですので、まずは元々あったデータを復元するところから始めねばなりません。 それができれば今のエラーはなくなるはずです。 恐らくmysql_num_rows()関数処理の前にクエリ(SQL)を発行していると思いますので、それの”FROM ○○”の○○をテーブル名とするテーブル・データを作成して下さい。 蛇足ですが、このプログラムは質問者様ご自身が作られたものではないのでしょうか。 もしご自身が作ったものでないならば、まずは作った当人に問い合わせるのが先決かと思います。(下手に内部をいじると不具合(バグ)の原因になります。) データのSELECT・INSERT・UPDATEにはデータの型なども重要になりますので、それらも下手なやり方をすると不具合が生じることがあります。 パッケージの重さは私にはわかりませんが、そこまで軽くない(少なくとも質問者様の技術では対応しきれない)内容であれば、ご自身で全てをカバーするべきではありません。

saki220
質問者

補足

ありがとうございます。 こちらは、私が作成したものではなく、以前、在籍したいた担当者が作成したもので、その担当が無言で辞めたので、それで困っております。

回答No.4

いろいろいじる前に 直接アクセスして show databases; use <database> show tables; 等のSQLで結果を確認して、ターゲットとなるDBが存在するのか、テーブルが存在するのかなどを確認してみたほうが良いと思います。 ちなみに OS はなんでしょう。 windowsなら、MySQLAdministratorなどでも確認できます。

saki220
質問者

補足

ありがとうございます。 直接アクセスする方法が分かりません。 サーバーのOSは、linux でサーバー特有のデータベース管理ツールは あります。 サーバー会社に何度かメールしましたが、サポート外と言われます。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.3

>あと、MySQLにログインすると 意味が不明確です。 ログインとはどういう意味ですか? また >中身が何もないみたいですが とは「テーブルがない」ということですか?それとも「DBがない」ということですか? 「テーブルがない」だけなら今回の質問内容にあるエラーとは根本的な因果関係はありませんが、「DBがない」のであれば、コネクトした次にDB指定でエラーになると思います。 定数化してるということですね。 それであれば、一度PHPファイルにベタ書きにしてみてください。 もしそれでコネクトが成功するようなら定数ファイルの定数の設定の仕方に問題があることになりますし、逆にできないなら、やはりホスト名に誤りがあることになります。 まずはエラーの原因を色んな方法を試して模索するところから始めましょう。

saki220
質問者

お礼

何度も、本当に申し訳ございません。 ポートを、12517 を付与したら、最初のエラーは 解消されましたが、今度は、以下の様な4点のエラーが 発生しました。 ・1) Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /ファイルパス/ファイル名.inc on line 15 ・2) Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /ファイルパス/ファイル名.inc on line 19 ・3) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /ファイルのパス/index.php on line 57 ・4) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /ファイルのパス/index.php on line 69

saki220
質問者

補足

>とは「テーブルがない」ということですか?それとも「DBがない」ということですか? DBは、ユーザーがあるので存在しているのだと思います。 ここでは、テーブルになると思います。

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

#1さんがおっしゃるように、DB接続に失敗しています。 恐らく <?php $link = mysql_connect($DBHOST, $DBUSERID, $DBPASS); $db_selected = mysql_select_db($DBNAME, $link); ?> このようになっていると思いますが、これのホスト名・ユーザーID・DBパスワード・DB名は間違っていませんか? 加えて、DBの設定によってはポートナンバーが$DBHOSTに必要になりますが、それは試しましたか?(「ホスト名:ポート」でポートを指定した形になります。) まぁ最初のエラーで「'0net'というホストはいない」と怒っているので、ホスト名が間違っているんだと思います。

saki220
質問者

補足

ありがとうございます。 例えば、ファイル名.php の中味は、以下の様です。 あと、MySQLにログインすると、中身が何もないみたいですが、これは何か関係がありますか? ユーザーは作成されております。 <? define('SERVER','データベースホストサーバー'); define('USER','データベースユーザー名'); define('PASS','パスワード'); define('DB','データベースユーザー名'); mysql_connect(SERVER,USER,PASS); mysql_select_db(DB); ?>

回答No.1

接続できてないだけですね。たぶん。 そのスクリプト(PHP)が、どういう前提で動くのかわからないとコメントできないですね。 PHPが接続に使うMySQLサーバーのアドレスとかポートとか通信に関わる部分の設定が間違っているために、接続できないんだと思います。

関連するQ&A

  • ネット上の無料サーバースペースのMySQLにコネクトできない

    無料サーバーで、PHP対応だとのことで サーバー管理画面でphpMyAdminでMySQLデータベースと管理者を設定し、テーブルも作ってみました。 ですが、.phpでプログラムを書いてサーバー上において実行させても以下のようなメッセージが出て、検索も操作もできていないようです。 どうすれば、きちんとコネクトして使えるようになるでしょうか。 Warning: mysql_connect(): Lost connection to MySQL server during query in /virtual/site/ホームページアドレス/htdocs/select_table.php on line 3 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /virtual/site/ホームページアドレス/htdocs/select_table.php on line 4 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /virtual/site/ホームページアドレス/htdocs/select_table.php on line 5 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/site/ホームページアドレス/htdocs/select_table.php on line 6

    • ベストアンサー
    • PHP
  • MySQLをPHPで使おうとして

    FedoraCore(192.168.0.101)に /var/www/html/index.php: <?php $link=mysql_connect("localhost","root","12") or die("Could not connect"); print"Connected successfully"; mysql_close($link); ?> を入れて他のPC(192.168.0.100)からこれを呼びましたが Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /var/www/html/index.php on line 2 Could not connect となり接続できません /var/lib/mysql/はありmysql.sockがありません どうしたらいいのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLへの接続がうまくいっていないようなのですが

    つい最近PHPをはじめたばかりなのですが、環境を整えて試しにスクリプトを実行してみるとエラーが出てしまいました。 開発環境は Apache:2.0.53/PHP:5.2.1/MySQL:5.0.15 です。 実行したスクリプトは $dbHandle = mysql_connect("localhost","ユーザー","パスワード") or die("can not connect db\n"); 出てきたエラーが Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Program Files\Apache Group\Apache2\htdocs\myphp1.php on line 18 can not connect db MySQLへの接続ができていないとまでは理解できたのですが・・・・・ 申し訳ありませんが何卒よろしくお願いします。

    • 締切済み
    • PHP
  • よくわかるPHPの教科書で勉強中なのですが…

    188ページのPHPとDBで本格的なwebシステムを作るというところを勉強しているのですが、PHPをMySQLに接続したいのですがサーバーにアップするとWarning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/sites/heteml/users…/・/・/・/…/web/index.php on line 2 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) と出てきます。どのようにしたらアップできるのでしょうか? 使用しているサーバーはhetemlで動作環境はXAMPPです。localhostでは動きます。 どなたか詳しいかたご教授お願いいたします。宜しくお願い致します!

    • ベストアンサー
    • MySQL
  • PHPとMySQLの連携に関する質問

    PHPでMySQLに接続し、クエリを実行するプログラムを書いてコンパイルしたのですが ↓のエラーが出ました 「Fatal error: call to undefined function mysql_connect()」 このエラーの解決方法を教えてください(mysql_connect()はデフォルトでついているモジュールに入っていたと思うのですが) <?php $db=mysql_connect("localhost","秘密","秘密"); mysql_select_db("testtest"); $query="select * from testa"; mysql_query($query,$db); ?>

    • ベストアンサー
    • PHP
  • MySQL+PHP 接続エラーについて

    はじめて質問させて頂きます。 MySQL、PHPともに初心者です。 MAMPを使用しています。 ローカルではほぼ問題無く動作していたphpファイルをウェブ上にアップロードしたところ、以下のようなエラーが出てしまいました。 Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in~ ネットやこちらの過去ログで調べたところMAMP使用下ではよくあるエラーらしく解決法も載っていたのですが、どれを試してもなぜかエラーが消えてくれません。 ソケットもMySQLサーバー側とクライアント側で同じもの(/Applications/MAMP/tmp/mysql/mysql.sock)を参照していると思うのですが・・・ php.iniの中でも、 mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock と指定されてあります。 何か他に原因があるのでしょうか。 ド素人のため質問がすでにおかしいかもしれませんが、お知恵をお貸しください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • PHPでのMySQL接続エラーについて

    PHPを使用してMySQLサーバに接続しようと思うのですが、どうしても "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Server\Apache2.2\htdocs\htdocs\connect.php on line 2" と表示されて接続できません。いろいろ試してみたので、情報を列挙いたします。 動作環境 OS:WindowsXP Pro Apache2.2.8 PHP5.2.6 MySQL5.0 1.コマンドプロンプトからはMySQLに正常に入ることが可能です。 2.上記のエラーが出るPHPプログラムは以下の通りです。 "<?php %conn = mysql_connect("localhost", "root", "password"); ?> 3.phpMyAdminを使って接続しようとしても以下のエラーが出ます。 #2003 - サーバが応答しません" 4.セキュリティソフトを終了させて接続しても同様の症状でした。 5.phpinfo()関数は正常に動作し、mysqlやmysqliの情報も表示されます。 以上の内容ですが、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • 次のエラーの説明をお願いします。

    エラーがでて次の掲示板がひらけません。 http://www.inter-edu.com/forum/ という受験掲示板ですが,開こうとすると次のエラーがでてひらけません。どなたか原因を教えていただけませんか? Warning: mysql_connect(): Too many connections in /home/homepage/public_html/forum/include/db/mysql.php on line 3025 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/homepage/public_html/forum/include/db/mysql.php on line 3026 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/homepage/public_html/forum/include/db/mysql.php on line 902 Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in /home/homepage/public_html/forum/include/db/mysql.php on line 904 Too many connections: select * from phorum_settings

  • MYSQLのエラーが解消できない。

    ただいま『基礎からのmysql」という本で、MYSQLの勉強をしています。 本の中の、18-03という問題で <?php $s=mysql_connect("localhost","root","PASS") or die("失敗です"); print "成功しました。<br />"; mysql_select_db("db1".$s); mysql_query("INSERT INTO tb1 VALUES('k888','エスキュ',25)"); $re=mysql_query("SELECT * FROM tb1"); while($kekka=mysql_fetch_array($re)){ print $kekka[0]; print ":"; print $kekka[1]; print ":"; print $kekka[2]; print "<br />"; } mysql_close($s); ?> このような文章があるのですが、うまく動きません。 ----------------------------------------------- 成功しました。 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sounyu_hyouzi.php on line 9 ----------------------------------------------- ↑のエラーを返すのですが、 スペルミスなどはなく、さっぱり原因がわかりません。 line9ということなので、 while($kekka=mysql_fetch_array($re)){ に問題がありそうな気もするのですが、見当もつきません。 ちなみに、 コマンドプロンとで、SELECT * FROM tb1をやると +------+-----------+------+ | bang | nama | tosi | +------+-----------+------+ | A101 | SATOU | 40 | | A101 | SATO | 40 | | A101 | NAKAGAWA | 40 | +------+-----------+------+ と表示され、 show databases;でも +--------------------+ | Database | +--------------------+ | information_schema | | cdcol | | db1 | | db21 | | db511 | | mysql | | performance_schema | | phpmyadmin | | test | | webauth | +--------------------+ このように表示されますので、データベースやテーブルの問題ではないのかと思います。 なにかピンとくる方おられましたらよろしくおねがいします。

    • ベストアンサー
    • MySQL
  • PHPとMySQLの連携について教えてください

    PHPからMySQLを使いたくて下記の環境を構築しました。 それぞれは正常に動作していますが、phpとmysqlの連携ができません。 PHP Version 4.3.10 MySQL Version 4.1.15 Apache 2.0.52 WindowsXP Home Edition ホスト名 localhost ユーザー名 root パスワード adminで firsttestというDBにテーブルを作成しました(DOSプロンプトから)。 そして次のコードを記述して実行すると下記のエラーが表示させます。 $conn=mysql_connect("localhost","root","admin"); // 5行目 mysql_select_db("firsttest",$conn); // 6行目 $res=mysql_query("show tables",$conn); // 7行目 --------- エラー画面----------- Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 5 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 6 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 7 ------------------------------ MySQLを利用しないPHPプログラムは正常に動作しています。 またMySQLもDOSプロンプトからはテーブル等正常に作成できます。 初心者で先に進めずとても困っています。 解決策がありましたら教えてください。 宜しくお願いします。

    • ベストアンサー
    • PHP