前提
投稿データを出力する画面を作っています。
そもそも、arrayには複数データを保持した変数は入れられないのでしょうか。
変数展開をしたいので""で囲ったのですが、予期しないと言われてしまいました。
実現したいこと
15件の取得したtitleデータを順に出力したい。
発生している問題・エラーメッセージ
Parse error: syntax error, unexpected string content "", expecting "-" or identifier or variable or number
該当のソースコード
php
<?php $db = new PDO('mysql:host=------'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $sql = 'SELECT title FROM post ORDER BY post . id DESC LIMIT ?, 15'; $stmt = $db->prepare($sql); $stmt->bindValue(1, $minvalue, PDO::PARAM_STR); $stmt->execute(); $result = $stmt->fetch(); $stmt = null; $db = null; if(!empty($result)){ $title[] = array("$result['title']"); }else{ echo 'データを取得できませんでした。リロードして下さい。'; } for($i=0;$i<15;$i++){ echo" <div> <article class='question'> <div class='questionInfo'> <h2 class='questionTitleAround titlesize titlebase'> <a class='questionTitle questionTitleColor'>$title[$i]</a> </h2> </div> </article> </div>"; } ?>
-- テーブルの構造 `post` -- CREATE TABLE `post` ( `id` int(10) NOT NULL, `subject` varchar(15) DEFAULT NULL, `grade` varchar(15) DEFAULT NULL, `post` varchar(2000) DEFAULT NULL, `pictures` int(11) DEFAULT NULL, `title` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
試したこと
arrayを消すと太宰治1が最初に一件だけ表示されます。
for文でif文を囲うようにして書いてみたのですが、どれも上手くいきませんでした。
複数データではない変数をarrayの中に書いてというのはインターネットで見つけたのですが、複数のものが見つかリませんでした。
"ではなく{}や[]でも代用できるというのを見つけたので、行ってみたのですが、どれも求めているものは出力できませんでした。
補足情報(FW/ツールのバージョンなど)
エラーは66行目で出ていて該当箇所はarrayの部分です。
テーブルの中身です。

0 コメント