重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

初心者ですが、こちらのグーグル・マップのチュートリアルを元にmysqlに登録されたデータをグーグル・マップ上に表示させることに挑戦しています。

https://developers.google.com/maps/documentation …


こちらを参考phpでデータベースからxmlデータを取得するところまで進みました。そのphpページをブラウザで表示させると、

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/...

と表示されます。こちらは表示されても機能的には問題ないのでしょうか。テストしているサーバーが古いので警告がでるということであってますでしょうか。バージョンは、PHP5.6.30で

【PHP の DOM 関数を使用して XML を出力する】 という方法を試しました。

また、そのphpページでこのワーニングはでているもののxmlデータはブラウザには、表示されていません。しかしソースをみるとちゃんと書かれています。これは普通なのでしょうか。それとも本来、ブラウザに表示されるものなのでしょうか。


素人で申し訳ございませんが、ご存知方がいらしましたらアドバイスよろしくお願いいたします。

A 回答 (2件)

サーバーが古いのではありません。

mysql_connect() を使った書き方が古いのです。

>警告 この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。

http://jp2.php.net/manual/ja/function.mysql-conn …


xmlデータは本来、ブラウザに表示されます。警告メッセージが邪魔して、xmlデータとして正常に認識されていません。

警告メッセージを消す必要があります。

display_errors を Off にするか、error_reporting で E_DEPRECATED のビットを 0 にする方法でも、メッセージを消すことができます。

http://php.net/manual/ja/errorfunc.configuration …
http://php.net/manual/ja/errorfunc.configuration …
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます!display_errors を Off にすることでエラーは消えました。

しかしxmlデータははやりソースコードにしか表示されないようです。

https://developers.google.com/maps/documentation …

のサイトにあるように

<?php

require("phpsqlajax_dbinfo.php");

とコピペして、phpsqlajax_dbinfo.phpのファイルには下記のように記載しています。




<?php
$link = mysql_connect(’xxx', 'id', 'pw');
if (!$link) {
die('接続できませんでした: ' . mysql_error());
}
echo '接続に成功しました';
mysql_close($link);
?>


xmlデータのファイルをブラウザで開くとこのページの接続に成功しましたという文字だけがブラウザ上に表示されxmlは表示されないようです。


もし原因がわかりましたら教えてください。よろしくお願いいたします。

お礼日時:2018/03/11 15:11

>echo '接続に成功しました';



余計なものを出力しては駄目です。その行は消してください。

エラー出力は error_log() 関数を使って、Web サーバーのエラーログを確認するか、指定したファイルに出力するのが良いです。

http://jp2.php.net/manual/ja/function.error-log. …
    • good
    • 0
この回答へのお礼

遅くなりまして申し訳ございません。回答ありがとうございます!助かります。

お礼日時:2018/03/13 15:33

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