前提・実現したいこと
・エラーの原因を知る
・修正方法
・どこが悪かったのかを知る
発生している問題・エラーメッセージ
SQLでloginmanagement=>userData=>pointのデータを表示をしたかったのですが、エラーが発生していて動作しません。
1.ログインしたら Main.phpに移動(Main.phpのソースコードは本文掲載)
2.ようこそ ○○ 様と表示
3.所持ポイントを調べて表示する
という流れを作っています。
SELECTを使い、nameの情報から自分のpoint情報を呼び出したいです。
--id--|---name--|-point--|
1 |ひろし |1000 |
------|---------|---------|
Parse error: syntax error, unexpected '$sql' (T_VARIABLE) in C:\xampp\htdocs\clane\online\mypage\Main.php on line 144
該当のソースコード
PHP
1<!doctype html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> 7 <style> 8html, 9body { 10 height: 100%; 11} 12 13body { 14 display: -ms-flexbox; 15 display: flex; 16 -ms-flex-align: center; 17 align-items: center; 18 padding-top: 40px; 19 padding-bottom: 40px; 20 background-color: #f5f5f5; 21} 22 23.form-signin { 24 width: 100%; 25 max-width: 420px; 26 padding: 15px; 27 margin: auto; 28} 29 30.form-label-group { 31 position: relative; 32 margin-bottom: 1rem; 33} 34 35.form-label-group > input, 36.form-label-group > label { 37 height: 3.125rem; 38 padding: .75rem 39} 40 41.form-label-group > label { 42 position: absolute; 43 top: 0; 44 left: 0; 45 display: block; 46 width: 100%; 47 margin-bottom: 0; /* デフォルトの `<label>` margin を上書き */ 48 line-height: 1.5; 49 color: #495057; 50 pointer-events: none; 51 cursor: text; /* ラベルの下の入力と一致させる */ 52 border: 1px solid transparent; 53 border-radius: .25rem; 54 transition: all .1s ease-in-out; 55} 56 57.form-label-group input::-webkit-input-placeholder { 58 color: transparent; 59} 60 61.form-label-group input:-ms-input-placeholder { 62 color: transparent; 63} 64 65.form-label-group input::-ms-input-placeholder { 66 color: transparent; 67} 68 69.form-label-group input::-moz-placeholder { 70 color: transparent; 71} 72 73.form-label-group input::placeholder { 74 color: transparent; 75} 76 77.form-label-group input:not(:placeholder-shown) { 78 padding-top: 1.25rem; 79 padding-bottom: 1.25rem; 80} 81 82.form-label-group input:not(:placeholder-shown) ~ label { 83 padding-top: .25rem; 84 padding-bottom: .25rem; 85 font-size: 12px; 86 color: #777; 87} 88 89/* Edge用フォールバック 90-------------------------------------------------- */ 91@supports (-ms-ime-align: auto) { 92 .form-label-group > label { 93 display: none; 94 } 95 .form-label-group input::-ms-input-placeholder { 96 color: #777; 97 } 98} 99 100/* IE10-11用フォールバック 101-------------------------------------------------- */ 102@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { 103 .form-label-group > label { 104 display: none; 105 } 106 .form-label-group input:-ms-input-placeholder { 107 color: #777; 108 } 109} 110</style> 111<?php 112session_start(); 113 114// ログイン状態チェック 115if (!isset($_SESSION["NAME"])) { 116 header("Location: Logout.php"); 117 exit; 118} 119?> 120 121<!doctype html> 122<html> 123 <head> 124 <meta charset="UTF-8"> 125 <title>CLANE STAR ONLINE|<?php echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); ?> 様のマイページ</title> 126 </head> 127 <body> 128 <div class="mx-auto"> 129 <h1><?php echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); ?> 様のマイページ</h1> 130 <!-- ユーザーIDにHTMLタグが含まれても良いようにエスケープする --> 131 <p>ようこそ<u><?php echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); ?></u>さん</p> <!-- ユーザー名をechoで表示 --> 132 <p class="mx-auto"><?php echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); ?> 様の情報</p> 133<?php 134session_start(); 135 136$db['host'] = "localhost"; // DBサーバのURL 137$db['user'] = "hogeUser"; // ユーザー名 138$db['pass'] = "hogehoge"; // ユーザー名のパスワード 139$db['dbname'] = "loginManagement"; // データベース名 140 141$name = $_SESSION["NAME"] 142 143$sql = "SELECT point FROM userData WHERE name = $name"; //144行目 144 145$stmt = $dbh->query($sql); 146 147foreach ($stmt as $row) { 148 149echo '所持CP'.':'.$row['point'].'CP'; 150 151} 152 153?> 154 <ul> 155 <li><a href="Logout.php">ログアウト</a></li> 156 </ul> 157 </div> 158 </body> 159</html>
試したこと
""をつける等