我正在制作这个函数,其中应该读取数组的一部分,并且每个值都包含一个我想要执行 PDO 查询的数字。这是我的以下代码:
function get_topics($array) {
$top = 20; $base = 0;
foreach ($array as $key => $value) {
$getData = $dbc->prepare('SELECT * FROM topics WHERE id = :id LIMIT 1');
$getData->execute(array(':id' => $value));
while($row = $getData->fetch()) {
$potential_topic_img = 'members/topic_' . $value . '.jpg';
if (file_exists($potential_topic_img)) { $topic_img = $potential_topic_img; } else {
$topic_img = 'members/0.jpg'; }
$name = $row['name'];
echo '<div class="topic_div"><img src="' . $topic_img . '" width="80"><br /><span
style="font-size:10pt;">' . $name . '</span></div>';
} if (++$base == $top) break;
}
}
echo get_topics($some_array);
但我得到的只是一个错误告诉这个:“解析错误:语法错误,/home/......中的意外T_VARIABLE ”,它说问题出在这一行:
$getData->execute(array(':id' => $value));
我做错了什么?
编辑
我删除了一些代码,剩下的代码运行良好:
function get_topics($array) {
foreach ($array as $key => $value) {
echo $value;
}
}
echo get_topics($user_likes_array);
所以不是 $value 是空的,问题似乎出在我一开始提到的那一行,因为当我将所有内容移到该行下方时,错误消息不会改变,但是当我移动该特定行时它确实会改变。