您好,我不确定是否已经被问过,但我已经搜索了 20 分钟,找不到相关答案。
我试图在我的表中获取所有 thread_id,然后将它们存储到一个名为 $ids[] 的数组中
然后进行查询:
SELECT * FROM posts WHERE tid = $ids[]
基本上,我想获取所有帖子,它们的 tid 列是数组中的其中之一。
我该怎么做呢?
顺便说一句,我正在使用 PDO。
致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 C:\xampp\htdocs\bronified\index 中的第 1 行的 ''2 , 3 , 4 , 1' ORDER BY pid ASC LIMIT 10' 附近使用正确的语法。 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>
';
}
?>