前提・実現したいこと
phpとmysqlでdbへの接続は出来ているのですがsql文が正しく動作しません。
発生している問題・エラーメッセージ
特になし
該当のソースコード
php
1<?php 2 3// データベースユーザ 4$user = '****'; 5$password = '****'; 6// 利用するデータベース 7$dbName = '****'; 8// MySQLサーバ 9$host = 'localhost:8889'; 10// MySQLのDSN文字列 11$dsn = "mysql:host={$host};dbname={$dbName};charset=utf8"; 12?> 13 14<!DOCTYPE html> 15<html lang="ja"> 16<head> 17<meta charset="utf-8"> 18<title>レコードを取り出す(すべて)</title> 19<link href="../../css/style.css" rel="stylesheet"> 20<!-- テーブル用のスタイルシート --> 21<link href="../../css/tablestyle.css" rel="stylesheet"> 22</head> 23<body> 24<div> 25 <?php 26 //MySQLデータベースに接続する 27 try { 28 $pdo = new PDO($dsn, $user, $password); 29 // プリペアドステートメントのエミュレーションを無効にする 30 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 31 // 例外がスローされる設定にする 32 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 33 echo "データベース{$dbName}に接続しました。", "<br>"; 34 // SQL文を作る(全レコード) 35 $sql = "SELECT*FROM member"; 36 // プリペアドステートメントを作る 37 $stm = $pdo->prepare($sql); 38 // SQL文を実行する 39 $stm->execute(); 40 // 結果の取得(連想配列で返す) 41 $result = $stm->fetchAll(PDO::FETCH_ASSOC); 42 // テーブルのタイトル行 43 echo "<table>"; 44 echo "<thead><tr>"; 45 echo "<th>", "ID", "</th>"; 46 echo "<th>", "名前", "</th>"; 47 echo "<th>", "年齢", "</th>"; 48 echo "<th>", "性別", "</th>"; 49 echo "</tr></thead>"; 50 // 値を取り出して行に表示する 51 52 echo "<tbody>"; 53 54 foreach ($result as $row){ 55 // 1行ずつテーブルに入れる 56 echo "<tr>"; 57 echo "<td>", es($row['id']), "</td>"; 58 echo "<td>", es($row['name']), "</td>"; 59 echo "<td>", es($row['age']), "</td>"; 60 echo "<td>", es($row['sex']), "</td>"; 61 echo "</tr>"; 62 } 63 echo "</tbody>"; 64 echo "</table>"; 65 66 } catch (Exception $e) { 67 echo '<span class="error">エラーがありました。</span><br>'; 68 echo $e->getMessage(); 69 exit(); 70 } 71 ?> 72</div> 73</body> 74</html>
試したこと
ID 名前 年齢 性別までは出ています。中身のデータが出てきません。
回答2件
あなたの回答
tips
プレビュー