这个问题在这里已经有答案了:
php解析/语法错误;以及如何解决这些问题(18个答案)
两年前关门了。
嗨:)我为自己写了一些代码,我需要比较不同表中的两列。
我有一张table blog_posts
与 postID
我有 table blog_comment
有也有 postID
.
我写了这样的开始:
<?php
$stmt2 = $db->prepare('SELECT comment_sender_name, comment_date, comment
FROM blog_posts, blog_comment
WHERE blog_posts.psotID = blog_comment.postID');
$stmt2->execute(array(
':comment_sender_name' => $comment_sender_name,
':comment_date' => $comment_date,
':comment' => $comment
));
if ($row['blog_posts.psotID'] == $row['blog_comment.postID']) {
echo '<p>' . $comment_sender_name . '</p>';
echo '<p>' . $comment_date . '</p>';
echo '<p>' . $comment . '</p>';
} else ($row['blog_posts.psotID'] == '') {
header('Location: ./');
exit;
}
?>
这就是我得到的错误:
分析错误:语法错误,第12行的/home/pomarex1/domains/dev.automax-rent.eu/public\u html/comments-loop.php中出现意外的“{”
2条答案
按热度按时间bihw5rsg1#
这是从两个不同的表中获取数据的代码,您可以对它们进行比较。这里我使用了pdo方法
d6kp6zgx2#
我可以在您的代码中看到两个错误(如果这不是打字错误):-
在您编写“where blog\u posts.psotid=blog\u comment.posted”的查询中,应该是“blog\u posts.posted”,而不是“blog\u posts.psotid”,因为psotid不是表中的字段。
就像别人说的,你的其他人错了,要么你写
else{头('位置:./');退出;}
或
第三,我建议编写一个内部连接查询,而不是直接调用数据。