ID:RQGUxXwXuuUJ さんの質問
1,376 viewsPHPを勉強中の者です。
こちらのサイト(ttp://www.designmap.info/tobewebdesigner/zero_php_mysql/zero_php_mysql6/)を参考に学習を進めていたのですが、つまずいてしまいました。
テーブルを作成したところまでは良かったのですが、値を入力して送信ボタンを押すと、ページが真っ白になり何も表示されなくなります。
(ブラウザの再読み込みでは直らず、URLを再度打ち込むと元の画面に戻ります。)
肝心のデータをphpMyAdminから確認すると、「返り値が空でした」とメッセージが表示され、データは入っていません。
【環境】
MAMP 3.0.7.3
phpMyAdmin 4.2.10
(phpファイルやデータベース構造は、参考サイトのものと同じです)
【試したこと】
- MyAdmin上のポートは8889、データ入力画面のURLはlocalhost:8888と表示されていたので、MAMPのポートをApacheポート:80、MySQLポート:3306に変更
- MyAdminの照合順序がutf8mb4_unicode_ci、作成したテーブルの照合順序がutf8_unicode_ciだったので、utf8mb4_unicode_ciに統一
---
SQLの基礎は知っている程度でサーバー周りには疎いため、どこをどう修正したらいいのかわかりません。
Webサイトの管理人の方にもメールで問い合わせてみたのですが、まだお返事がない状態です。
他に必要な情報があれば、おっしゃっていただけると助かります。
どうぞよろしくお願いします。
みんなの回答 4 件
error.log 確認すればいいのでは?
空ページのソースはどんな感じ?
【試してみたこと】の追記です。
<?php
ini_set("display_errors", On);
error_reporting(E_ALL);
?>
をphpファイルの先頭に入れ、再度実行したところ、SQLSTATE[28000] [1045]のエラーが出ました。
そこで、phpファイルのユーザーを修正し、再度実行したところ、SQLSTATE[42000] [1044]というエラーが出ました。
ユーザーに権限を与えればいい、との情報を得たのですが、phpMyAdmin上で付与できるものなのでしょうか…。
度々すみません。
phpMyAdmin上でlodalhostの権限を変更したら実行できました!
その上で疑問が沸いたのですが、今回、ユーザ:すべて、ホスト:localhost」、グローバル特権:ALL PRIVILEGESというユーザに対して権限を付与したのですが、これは問題ないのでしょうか?
現在ユーザが3つあり、上から
ユーザ:すべて、ホスト:%、グローバル権限:USAGE
ユーザ:すべて、ホスト:localhost、グローバル権限:ALL PRIVILEGES
ユーザ:root、ホスト:localhost、グローバル権限:ALL PRIVILEGES
となっており、このうち下の2つに対してデータベースへの全権限が与えられています。
上から2つ目(今回権限を与えたもの)は元々権限を持っていないユーザだったので、むやみに権限を付与しても良かったのか、疑問です。
関連トピック
関連キーワード
更新情報を受け取る
W3QのFacebookページとTwitterでは、更新情報をリアルタイムでお届けしています。