前提・実現したいこと
MySQLのparticipating_athletesというテーブルから4つのレコードを取得してブラウザで表示したいです。
index.htmlは表示できているのですが、index.phpの内容が反映されません。
初めはmysqlのデータが取得できていないのだと思っていたのですが、どうやらindex.php自体が読み込まれていないようです。
VScodeではindexが付いているファイルは最初に読み込まれると出ていたのですが、なぜか読み込まれていません。
該当のソースコード
index.php
php
1//index.php 2<?php 3//変数の初期化 4$athletes = null; 5$res = null; 6$dbh = null; 7 8$dsn = "mysql:dbname=mydb;host=localhost;charset=utf8mb4"; 9$user_name = "root"; 10$password = ""; 11$driver_options = [ 12 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 13 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 14]; 15 16try { 17 //DBへ接続 18 $dbh = new PDO($dsn, $user_name, $password, $driver_options); 19 //SQL作成 20 $participating_athlete = "SELECT * FROM participating_athletes"; 21 //SQL実行 22 $athletes = $dbh->query($participating_athlete); 23 var_dump($athletes); 24 //取得したデータを出力 25// foreach ($athletes as $athlete) { 26// echo $athlete['id'].':'.$athlete['name'].':'.$athlete['race_name']; 27// echo '<br>'; 28// } 29} catch (PDOException $e) { 30 // エラーメッセージを表示させる 31 echo 'データベースにアクセスできません!' . $e->getMessage(); 32 // 強制終了 33 die(); 34} 35//接続を閉じる 36$dbh = null; 37?>
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>【PHP-DB】DBアクセス・データ参照</title> </head> <body> <h1>【PHP-DB】DBアクセス・データ参照</h1> <hr> <h2>◆データを参照</h2> <table cellspacing="0" cellpadding="5" border="1"> <tr><th>id</th><th>name</th><th>race_name</th></tr> <?php foreach ($athletes as $athlete) { print_r("<tr><td>%s</td><td>%s</td><td>%s</td></tr>", htmlspecialchars($athlete['id']), htmlspecialchars($athlete['name']), htmlspecialchars($athlete['race_name']) ); } ?> </table> </body> </html>
試したこと
➀XAMPPのpasswords.txtの確認し下記になっています。
XAMPP Default Passwords
- MySQL (phpMyAdmin):
User: root
Password:
(means no password!)
➁phpMyAdminのSQLで
use mydb;
SELECT * FROM participating_athletes;
でSQLに問題があるか確認。
この時点でMySQLから取得する事に問題ない事はわかりました。
➂var_dumpで
try{
var_dump($athletes);
}
$athletes取得できていないか確認しましたが取得できていない。
➃var_dump($user_name)でブラウザにrootが表示されるか確認しましたができませんでした。
➄index.phpが反映されていない事を検索するも同じような内容がヒットしないです、、、
どうかご教示ください。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 13:48
2020/02/16 14:04
2020/02/16 14:07
2020/02/16 14:47 編集