• 何度試してみても改
    善しないので、質問させてください。 1つ目は、動画...
  • かいづか けんすけ 
    何度試してみても改善しないので、質問させてください。

    1つ目は、動画の8分20秒辺りのマイページに遷移するという動作としようとすると、以下のようなエラーメッセージが表示されてしまいます。

    Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1049] Unknown database 'php_sample01' in /Applications/MAMP/htdocs/sample/index.php:77 Stack trace: #0 /Applications/MAMP/htdocs/sample/index.php(77): PDO->__construct('mysql:dbname=ph...', 'root', 'root', Array) #1 {main} thrown in /Applications/MAMP/htdocs/sample/index.php on line 77

    77行目にエラーがあるのかなと読めたので、見てみるとstyleタグ内のbodyに関するスタイルの部分で、phpに関係しているようには思えませんでした。以外の部分も何度もデバックしているのですが、改善されません。

    2つ目は動画の9分40秒辺りの、動作が確認できません。
    同じようにエラーを表示させようと思っても、何もなかったように動いてしまいます。MAMPを再起動したりキャッシュとハードの再読み込みなども試してみても改善しません。

    ご教授よろしくお願いいたします。

    回答 2

    ウェブカツコーチ 
    講師からの回答
    エラーメッセージの行番号は当てにならないケースもあるので、まずはエラー文の本文を文頭から意味を理解しながら読み解くようにしましょう。

    Uncaught PDOException: SQLSTATE[HY000] [1049] Unknown database 'php_sample01'

    ここの意味を和訳してみると原因がある程度特定できるはずです。「不明なphp_sample01というデータベース(=存在しない)」と怒られています。phpMyAdminでデータベース名を改めて確認してみましょう。全角半角やアンダーバー(_)・ハイフン(-)等が異なっていてもこのエラーが投げられます。

    質問2の内容は質問1でコケていることが原因の可能性もあるため、まずは質問1のエラーを解消してなお同様の症状であれば質問して下さい。

    かいづか けんすけ 
    ご返信ありがとうございます。

    エラーメッセージは消え、正常には動くようになったのですが、質問2の動作確認で500エラーがでるようになってしまいました。
    動画のようにifを消さなければ問題なく動いています。

    サンプルコードをそのまま使っても試してみたのですが、同じ結果でした。自分のPC上の問題なのでしょうか?

    ウェブカツコーチ 
    講師からの回答
    500エラーが出てしまうというだけの情報ではちょっと原因は特定できません。こちらでもサンプルコードをダウンロードしたうえで同様の処理を行おうとしましたが、動画と同様でNoticeを赤字表示する挙動をしています(おそらくPHPのバージョンが異なることで、若干表示内容は異なります)。

    500エラーはNoticeレベルではないエラーなので、どこか消してはならない箇所まで消してしまったり、全角余白を紛れ込ませてしまった等の原因が考えられますが、そもそもここの箇所は誤ったコーディングをした場合の挙動の確認が目的です。なので特定に無駄に時間を掛ける必要は無いので、ifを入れた時に正しく挙動し、原因特定に時間が掛かりそうなのであれば次に進んだほうが良いでしょう。