• 締切済み

MySQLでテストサイトは読込OK本番サイトはNG

テストサイトと本番サイト2つのサイトがあります。 それぞれに使用しているファイルはすべて同じものです。 ドメイン名は違いますが、同じサーバにアップされています。 MySQLのデータを読み込んで表示させる作りなのですが、両方とも同じMySQLからデータを読み込んでいます。 MySQLのクライアントのバージョンは5.0.77と書いてありました。 $dsn = "mysql:host=example.com;dbname=test"; $user = "test"; $pas = "aaaaaa"; $db = new PDO($dsn,$user,$pas); $db->exec("SET NAMES utf8"); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); #SQLの生成~実行 $sql = 'SELECT `a`,`b` FROM `xyz`'; $result = $db->query($sql); while($row = $result->fetch(PDO::FETCH_ASSOC)){ $hoge[] = $row; } というふうな感じでデータを拾いだして読み込んでいます。 コミットというのは、よく分かっていないので、使っていません。 (これが原因?) 今まではうまく表示されていたのですが、急に表示されなくなりました。 とりあえず、サイト閉鎖状態を解除したいので、読み込みを正常にしたいのですが、どのようにすれば良いでしょうか。 知識不足でお恥ずかしいのですが、ほんとに困ってます!助けてください! どうかご教授よろしくお願いいたします。

みんなの回答

  • root139
  • ベストアンサー率60% (488/809)
回答No.7

> 画面は404等のエラーになるわけでもなく真っ白です。 > ・・・ > ログファイル上では正常にページが読み込めたことになっています。 > ・・・ > ソースも真っ白です(1文字も表示されない)。 という状態で、何を見て↓だと分かったのでしょうか? > DBのデータを読み込むためのPHPファイルをインクルードしようとするところでエラーを起こし、読み込みストップしています。 また、生ログとは apache などのWebサーバのアクセスログかと思いますが、Webサーバのエラーログを見ることは出来るのでしょうか?

okimuk2050
質問者

お礼

返信遅くなってすみません。 無事解決しました。 どうやら、サーバの仕様で.htaccessを書き換えるとPHPのバージョンが旧バージョンに戻るのが原因だったようです。 お騒がせしましたm(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.6

> >「エラーを起こし」とありますが、どのファイルにどのようなエラーが出ているのでしょうか? > これは本日の症状を考えるに、無視してもいいと思います。 ここを「無視してもいい」と判断できるのどういう理由? 「どのファイルにどのようなエラーが出ている」といった情報がカギを握ってるケースは多いですよ。

okimuk2050
質問者

お礼

返信遅くなってすみません。 無事解決しました。 どうやら、サーバの仕様で.htaccessを書き換えるとPHPのバージョンが旧バージョンに戻るのが原因だったようです。 お騒がせしましたm(__)m

全文を見る
すると、全ての回答が全文表示されます。
回答No.5

>画面は404等のエラーになるわけでもなく真っ白です。 →「真っ白な画面」のところで右クリックし、「ソースの表示」をすると何か表示されますか? >DBのデータを読み込むためのPHPファイルをインクルードしようとするところでエラーを起こし、読み込みストップしています。 →「エラーを起こし」とありますが、どのファイルにどのようなエラーが出ているのでしょうか? >ログファイル上では正常にページが読み込めたことになっています。 →「ログファイル」とは何のログファイルですか?  PHP本体から吐き出されているログ? 知識不足なのは仕方ないですが、この手の質問はもっと具体的な情報を書いてもらわないと答えたくても答えられませんよ。

okimuk2050
質問者

お礼

回答遅くなりまして申し訳ございません。 あれから一時、自然回復したので様子をみていたのですが、 問題なさそうだったので、 本日、.htaccessを書き換えて本番サイトにアップしたところ、同じようになりました。 慌てて元データを上げ直したのですが、戻りませんでした。 今現在アップしている.htacceeの中身は以下です。 --------------------------- DirectoryIndex index.shtml index.php index.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ /m/ [R] AddHandler x-httpd-php .html .shtml --------------------------- 以下、不足情報分です。 お手数おかけします。 >「真っ白な画面」のところで右クリックし、「ソースの表示」をすると何か表示されますか? ソースも真っ白です(1文字も表示されない)。 >「エラーを起こし」とありますが、どのファイルにどのようなエラーが出ているのでしょうか? これは本日の症状を考えるに、無視してもいいと思います。 >「ログファイル」とは何のログファイルですか? サーバー会社の管理画面からダウンロードできる、サーバーからの生ログです

全文を見る
すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.4

> すみません。これはよく意味が分からないです。 「本番用DBがどのHOSTにあるのか」を正確に把握できてますか? #1の繰り返しですが、例示のソースの1行目に > $dsn = "mysql:host=example.com;dbname=test"; 「MySQLはHOST[example.com]上のDB[test]を参照する」と記述されています。 通常、example.comは例として使用する名称と思います。 (hogehogeやfoovarと同じ) 「この質問を行う上でマスクしている」のであれば、私の回答はすべて読み捨ててください。

okimuk2050
質問者

お礼

ああ、そういうことだったんですね。 説明不足で申し訳ないです。 ホストやユーザー名等、DB接続に用いる固有情報はすべてマスクしています。

全文を見る
すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

> はい、両方で接続できてました。 今も本番サイトでもexample.comに接続できるの? 本番がインターネット環境につながってるのであればexample.comは存在するの?

okimuk2050
質問者

お礼

今も接続できています。 >本番がインターネット環境につながってるのであればexample.comは存在するの? すみません。これはよく意味が分からないです。

全文を見る
すると、全ての回答が全文表示されます。
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

言語はPHPでしょうか? それから、↓あたりの情報が無いと分からないかと。 ・表示されなくなった前後でプログラム・ライブラリなどを変更したのか否か ・画面やログファイルに出力されているエラーメッセージ

okimuk2050
質問者

お礼

すみません。 失礼しました。 言語はPHP(5.3.3)です。 プログラム・ライブラリなどの変更は、双方のサイトで.htaccessの内容を変更したくらいです。(本番サイトの異変に気付いてすぐに元に戻しましたが) 画面は404等のエラーになるわけでもなく真っ白です。 DBのデータを読み込むためのPHPファイルをインクルードしようとするところでエラーを起こし、読み込みストップしています。 ログファイル上では正常にページが読み込めたことになっています。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> $dsn = "mysql:host=example.com;dbname=test"; テストサイトと本番サイトのHOST名はどうなってますか? 本番サイトでもexample.comに接続できるの?

okimuk2050
質問者

お礼

はい、両方で接続できてました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • レンタルサーバーで PHP+MySQL のサイトを作ってます。

    レンタルサーバーで PHP+MySQL のサイトを作ってます。 極稀に、一部のクエリーが原因で、 MySQLのプロセスが大量にSleep状態で長時間滞留してしまう事態が生じ、 サーバーに高負荷をかけてしまいます。 これを解消するために、 $sql = "SHOW PROCESSLIST"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result,MYSQL_NUM)){ $id = $row['0']; $time = $row['5']; if($time > 60) mysql_query("KILL {$id}"); } こんな感じのコードをcronで数分毎に実行し、問題のプロセスを停止させようと思ったのですが... どうなんでしょう? アドバイスを頂けないでしょうか。よろしくお願いします。

    • 締切済み
    • PHP
  • PHP+MySQLを実行するとエラーが出てパソコンがフリーズする。

    次のphpを実行すると、求めるデータは表示出来ますが、その下に引き続き Warnning:mysql_result()[function.mysql_result]: Unable to jump to row 7 on MySQL result index 3 in C:****test.php on line 10; 同文で on line 11; 以下,Unable to jump toの 「 row 7」 が row 8 row 9・・・・・・ と延々と続き、パソコンがフリーズしてしまいます。 実行したphp文。 <?php $con=mysql_connect(localhost,"root","root"); $selectdb=mysql_select_db("sales",$con); $sql="select * from sample"; $result=mysql_query($sql,$con); $row=mysql_fetch_array($result); $price=mysql_result($result,$i,1); $volume=mysql_result($result,$i,2); echo("$price:$volume<br>\n"); mysql_close($con); ?> 参考書を調べて、いろいろ変えてみましたが、分かりません。 幼稚なphp文で恐縮ですが、悪いところをご指摘頂ければ有難いです。

    • ベストアンサー
    • PHP
  • Call to a member function fetch() on a non-object in

    初歩的なことかもしれませんがよろしくお願いいたします。 以下のようなソースでSQLITEからデータを取得しようとしています。 $dsn = "sqlite:aaaa.db,'',''"; $pdo = new PDO($dsn); $sql = "SELECT * FROM m00_aaatbl WHERE m00_aaaaa = '".$_POST['aaaaaa']."'"; $stmt = $pdo->query($sql); $row = $stmt->fetch(); ローカル環境で試験してたときには動作していたのですが、サーバにUPして動作させようとすると Call to a member function fetch() on a non-object in /public_html/index.php on line XX と出てしまいます。(エラーの箇所は$row = $stmt->fetch();) これは、どういった原因が考えられるのでしょうか? php Version 5.2.8です。 お願いいたします。

    • ベストアンサー
    • PHP
  • エラーが出ます。myswl

    <?php $_POST['form']; $db_server = "mysql84.heteml.jp"; $db_username = "******"; $db_password = "******"; $mysql = mysql_connect($db_server, $db_username, $db_password); if ($mysql) { $table_name= "kensaku"; $mysql= ""; mysql_select_db($table_name, $mysql); mysql_set_charset("ECU"); $sql = "SELECT kai, tiiki, syoku, kei FROM kensaku" . "WHERE tiiki = '" . mysql_real_escape_string($tiiki) . "'"; $result = mysql_query($sql); if ($result) { $data_count = mysql_num_rows($result); for($i = 0; $i < $data_count; $i++) { $row = mysql_fetch_row($result); $j = 0; $data[$i]['kai'] = $row[$j++]; $data[$i]['tiiki'] = $row[$j++]; $data[$i]['syoku'] = $row[$j++]; $data[$i]['koyou'] = $row[$j++]; } mysql_free_result($result); } else { $error['top'] = "データベースのエラーです。" . mysql_error(); } mysql_close($mysql); } if (isset($error)) { echo $error['top']; } else { for($i = 0; $i < $data_count; $i++) { echo $data[$i]['kai'] . "|" . $data[$i]['tiiki'] . "|" . $data[$i]['syoku'] . "|" . $data[$i]['koyou'] . "<br />"; } } ?> 書き忘れとかあればおしえてください。

    • 締切済み
    • PHP
  • mySQLで結果が無いときの処理

    $sql = "select * from test "; $sql .= "where id='".$_POST["id"]."' and pwd='".$_POST["pwd"]."'"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { if($row){ $msg = "OK"; } } としていますが、NGのときってどういう風にしたらいいのでしょうか? 基本的なことですみませんが、教えてください。

    • ベストアンサー
    • PHP
  • mysqlについてサンプルなど教えてもらえませんか

    すいません。今phpなどを使いウェブサイトを作っているのですが、データベースがどうしても 必要となり、参考サイトなどを見ながら作りました。 ほとんどできたのですが、最後に一部データベースの関数などでわからない事があり困っています。 (正直私はプログラムはphp程度が少し分かる程度で、データベースも単純な使い方しかしない 予定なので参考サイトをざっと見ただけでmysqlの事がほとんど分かりません) ググってそれらしい物を探してはいるのですが、私がやりたい事はデータベースから 件数を取りたいだけです。 取った件数をphpで表示したいのですが、何時間やっても良くわかりません。 申し訳ないんですが取り出した後その件数をphpのechoで表示するまでをサンプルとして書いてもらえませんか?(可能であれば「ここでこのような処理が行われている」とコメントがもらえると助かります) データベース関係はphpと違って初心者用のサイトなども無く、書いてある事がほとんど分かりません。 (ここでSELECT COUNT(*)を使うと教えてもらったのですが、SELECT COUNT(*)でググっても サンプルなども出てきません) $pdo = new PDO("mysql:dbname=aaa", "root"); $pdo->query("set names utf8;"); // ------------------------------------------------ $sql = $pdo->query("SELECT COUNT(*) FROM bbb"); $stmt = $pdo->query($sql); $stmt->execute(); $count=$stmt->rowCount(); echo $count; ----------------------------------------------- $result = mysql_query("SELECT COUNT(*) FROM bbb"); $row = mysql_fetch_assoc( $result ); echo $row;

    • ベストアンサー
    • MySQL
  • PHPでMySQLのデータを検索したい

    お世話になります。 PHPでMySQLのデータを検索したいと思い、 以下のようにしてみたのですがうまく表示されません。 -- $name = $_POST["name"]; $link = mysql_connect('localhost', '', ''); $db_selected = mysql_select_db('', $link); mysql_set_charset('utf8'); $sql = "SELECT * FROM search WHERE". $name; $result = mysql_query($sql); while($row = mysql_fetch_array($name)) { print $row['name']; } $close_flag = mysql_close($link); -- どう改善すればいいのでしょうか? 初心者の為、少々お見苦しい点があるかと思いますが どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP+PDO+MYSQL で実行されたSQL文の取得について

    PHP+PDO+MYSQL で実行されたSQL文の取得について PEARのDBからPDOへの移行をしていましてデバック用のSQL文取得で困っています。 $sql = "SELECT * FROM sample where id = ? And id2 = ?" PEARのDBでは $db->query($sql,array(1,5)); $db->last_query; で実行したSQL文を取得することは可能でした。 PDOの場合 $sql_result = $pdo->prepare($sql); $sql_result->execute(array(1,5)); でリプレースフォルダ(クォート処理?)を利用してSQLを実行出来るようですが、 実行したSQLを確認する方法がマニュアル等を読みましたがどうしても分かりません。 どなたかご存知の方がいらっしゃいましたらご教授お願い致します。

    • ベストアンサー
    • PHP
  • DB接続の関数化

    下記のデータベースに接続する関数の意味は「MySQLに接続して、PDOクラスで接続したデータベース情報を返す」で合っていますか? function get_db_connect(){ // MySQL用のDSN文字列 $dsn = 'mysql:dbname='. DB_NAME .';host='. DB_HOST .';charset='.DB_CHARSET; try { // データベースに接続する $dbh = new PDO($dsn, DB_USER, DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4')); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $e) { exit('接続できませんでした。理由:'.$e->getMessage() ); } return $dbh; }

    • ベストアンサー
    • PHP
  • SQLのどこがおかしいでしょうか?

    PHP4、MySQLです。 for($i=1;$i<34;$i++){ $sql = "select count(group) as cnt".$i." "; $sql.= "from stock "; $sql.= "where group=".$i." "; //print "sql= ".$sql."<br>"; $result = mysql_query($sql,$db) or die("失敗しました".mysql_error ()); $Row = mysql_fetch_array($result, MYSQL_ASSOC); $cnt.$i = $Row['cnt".$i."']; } としています。どこがおかしいでしょうか? 教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • オーダーメイドで水受付の容器を作りたい場合、どういう会社が対応してくれるのか知りたいです。サイズは100mm角ほどで、数量は100個です。
  • 樹脂か金属の指定はありませんが、予算的には安い方が良いです。
  • オーダーメイドの水受付容器を製作してくれる会社を教えてください。サイズは100mm角ほどで、数量は100個です。樹脂か金属の指定はありませんが、できるだけ安価なオプションを希望しています。
回答を見る