こんにちは。PHPの勉強を始めてやっと1ヶ月の初心者大学生です。表題の件でつまずいてしまい、よかったらアドバイスいただけると嬉しいです。
- 画像とテキストをフォームから入力してもらう。
- フォルダに画像をアップロードする。
- 画像のパスとテキストをデータベース(MySQL)に保存する。
- データベースから画像とテキストを表示する。
というコードを組んだのですが4.でつまずいてしまいました。以下がコードになります。
php
1// view.php 2<?php 3$user = "xxx"; 4$pass = "xxx"; 5try { 6 $dbh = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8', $user, $pass); 7 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 8 $sql = "SELECT * FROM xxx"; 9 $stmt = $dbh->query($sql); 10 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 11 12} catch (Exception $e) { 13 echo "エラー発生: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "<br>"; 14 die(); 15} 16?> 17 18<html> 19<head> 20 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 21 <title>画像アップロード</title> 22</head> 23 24<body> 25<table> 26<tr> 27<th>名前</th><th>写真</th>; 28</tr>; 29 <?php foreach ($result as $row) { 30 echo "<tr>\n"; 31 echo "<td>" . htmlspecialchars($row['text'],ENT_QUOTES,'UTF-8') . "</td>\n"; 32 echo "<td>" . htmlspecialchars($row['image'],ENT_QUOTES,'UTF-8') . "</td>\n"; 33 echo "<td>" . "<img src="$row['image']">" . "</td>\n"; 34 echo "</tr>\n"; 35 } 36 ?> 37</table> 38</body> 39</html>
32行目の
php
1echo "<td>" . "<img src="$row['image']">" . "</td>\n";
の部分で
Parse error: syntax error, unexpected '$row' (T_VARIABLE), expecting ';' or ',' in /Applications/MAMP/htdocs/myproject/info.php on line 32
というエラーメッセージが表示されます。
データベースには画像のパスをalbum/xxx.jpgの形で保存しており、<img src"$row['image']">で表示されると思ったのですが、エラーになってしまいました。自分で調べてみて関数の戻り値などが関係しているのかもと思ったのですが、いまいちわかりませんでした。
もしよかったらアドバイスいただけると嬉しいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 08:43
2020/05/13 13:36 編集
2020/05/14 20:01
2020/05/14 21:25