質問: XamppでPhp、Mysqlを動作させたく作成しています。 1.エラーメッセージ Warning: mysqli_connect(): Error while reading greeting packet. PID=14636 in C:\xampp\htdocs\regist.php on line 9 Warning: mysqli_connect(): (HY000/2006): MySQL server has gone away in C:\xampp\htdocs\regist.php on line 9 Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\regist.php on line 9 2.問題となっているソース アドレス登録
回答: エラーメッセージで検索してみましたか? 同じ様なミスをしている人も多く、情報量も結構なものだと思いますが? > MySQL server has gone away こちらも「見つからない」って言ってるようなもんだと思います。 > $con = mysqli_connect('localhost', 'root', '28730761','bbs_db1','8012'); 第5引数がポート番号です。 質問者さんは 8012を指定していますが、XAMPPのコントロールパネルでは 8012は Apacheがリスンしているポートですね。 MySQL(mariaDB)ではないポートにリクエストを投げても期待するモノは返ってくるはずないですから「Error while reading greeting packet.」も頷けます。 > Port=8012⇒3307など買えても逆にPortが違うようなコメントが > 表示してもっとダメなような感じです。 それは、また更に違う事をやっているからって気がします。 やった事、返ってきたエラーメッセージを正確に提示すれば明確になると思います。 上手くいかない時にエラーメッセージを意訳(のつもりが意味が違ってしまう事も多々ある)したり、省略しないのが、早期解決のコツだと思います。 そもそも、何でポート番号を変更しなきゃならない事になるのか良く解りません。 昔、Windowsが勝手に skypeをインストールしている頃、使っていない skypeを止めるんじゃなく、httpのポートを標準である 80から別なのに変更するという説明ばかりだった様に思います。 その頃に大量に出回った古い情報(あるいはそれを基にした情報)を参照されているんだろうなと思います。 今現在もデフォルト(プレーンな Windows)では別の何かが使用中なのかなぁ... PCを変える度に開発環境を作り直すけど、最近殆ど気にした事が無いです... ついでにもう一つ。 でーたべーすを扱うのに PDO一択だと思うのですが、何か特別な理由があるのでしょうか?