PHPをMySQLに接続し、SQL内の値を取得する練習をしたいのですが、以下のようになります。
原因・解決策をご教示ください。
勉強不足なのは百も承知です。
SQL:
datebase -> mysql_test1
table -> practice1
取得したいカラム -> loginid
+----+---------+-----------------+------------------------------+
| id | loginid | password | created_at |
+----+---------+-----------------+------------------------------+
| 1 | aaa | pass | 2020-03-30 20:57:57 |
+----+---------+-----------------+------------------------------+
php
1<!DOCTYPE html> 2<html lang="ja" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title>タイトル</title> 6 </head> 7 <body> 8 <?php 9 //エラーキャッチ 10 try{ 11 //データベースへ接続する 12 $pdo = new PDO("mysql:host=localhost; dbname=mysql_test1; charset=utf8" , "root" , ""); 13 // SQL作成 14 $sql = "SELECT loginid FROM practice1;"; 15 $stmt = $pdo->prepare($sql); 16 $stmt->execute(); 17 18 //データの取得 19 while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ 20 $message[] = $result; 21 } 22 23 //もしエラーが発生した時にエラーを表示する 24 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 25 26 }catch(PDOException $e){ 27 echo $e -> getMessage(); 28 die(); 29 } 30 //接続を閉じる 31 $dbh = null; 32 //データ表示 33 foreach($message as $mes){ 34 echo "{$mes["message"]} <br/>"; 35 } 36 ?> 37 </body> 38</html> 39
接続できず、ブラウザで確認すると、以下のようにコードがそのまま出てきてしまいます。
ERROR
1 prepare($sql); 2 $stmt->execute(); 3 4 //データの取得 5 while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ 6 $message[] = $result; 7 } 8 9 //もしエラーが発生した時にエラーを表示する 10 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 11 12 }catch(PDOException $e){ 13 echo $e -> getMessage(); 14 die(); 15 } 16 //接続を閉じる 17 $dbh = null; 18 //データ表示 19 foreach($message as $mes){ 20 echo "{$mes["message"]} <br/>"; 21 } 22 ?>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。