こんにちは、すでに質問されているかどうかはわかりませんが、20分間グーグルで検索しましたが、関連する回答が見つかりませんでした.
テーブル内のすべての thread_id をフェッチし、それらを $ids[] という名前の配列に格納しようとしています
そして、クエリを作成します。
SELECT * FROM posts WHERE tid = $ids[]
基本的に、すべての投稿を取得したいのですが、それらの tid 列は配列内のこれらの 1 つです。
どうすればいいですか?
ちなみに私はPDOを使用しています。
致命的なエラー: キャッチされない例外 'PDOException' とメッセージ 'SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。C:\xampp\htdocs\bronified\index. php:77 スタック トレース: #0 C:\xampp\htdocs\bronified\index.php(77): PDOStatement->execute(Array) #1 {main} C:\xampp\htdocs\bronified\index.php でスローされる77行目
<?php
$test = $pdo->prepare("SELECT * FROM mybb_threads ORDER BY replies DESC LIMIT 10");
$test->execute();
while ($row = $test->fetch(PDO::FETCH_ASSOC))
{
echo'<li><a href="#st-'.$row['tid'].'-'.$row['fid'].'">'. $row['subject'].'</a></li>';
}
$get = $pdo->prepare("SELECT * FROM mybb_threads ORDER BY replies DESC LIMIT 10");
$get->execute();
$array = $get->fetchAll(PDO::FETCH_COLUMN, 0);
?>
</ul>
<?php
$test = $pdo->prepare("SELECT * FROM mybb_threads ORDER BY replies DESC");
$test->execute();
$fetch = $test->fetch(PDO::FETCH_ASSOC);
$new = $pdo->prepare("SELECT * FROM mybb_posts WHERE replyto = 0 AND tid IN :ids ORDER BY pid ASC LIMIT 10");
$new->execute(array(":ids" => implode(" , ",$array)));
while ($row = $new->fetch(PDO::FETCH_ASSOC))
{
echo
'
<div id="st-'.$row['tid'].'-'.$row['fid'].'">
<h4>'.$row['subject'].'</h4>
<p>
'.$row['message'].'
</p>
</div>
';
}
?>