如何比较不同表中的两列

时间:2018-06-22 12:52:09

标签: php mysql

嗨:)我为我写了一些代码,我需要比较不同表中的两列。

我有blog_posts的表postID,还有table blog_comment的{​​{1}}。

我写这样的开始:

postID

这是我得到的错误:

  

解析错误:语法错误,第12行在/home/pomarex1/domains/dev.automax-rent.eu/public_html/comments-loop.php中出现意外的'{'

2 个答案:

答案 0 :(得分:0)

我可以在您的代码中看到两个错误(如果这不是拼写错误):-

  1. 在您编写了“ WHERE blog_posts.psotID = blog_comment.postID”的查询中,它应该是“ blog_posts.postID”而不是“ blog_posts.psotID”,因为psotID不在表中。 / p>

  2. 就像别人说的那样,你的其他人是错的,要么你写

    其他{      header('Location:./');      出口; }

OR

else if($row['blog_posts.psotID'] == ''){
    header('Location: ./');
    exit;
}
  1. 第三,我建议编写一个内部联接查询,而不是直接调用数据。

答案 1 :(得分:0)

这是从两个不同的表中获取数据的代码,您可以对其进行比较。在这里,我使用了PDO方法

<?php
    require_once('init.php');
    $con = $db->prepare("SELECT * FROM blog_posts");
    $con->execute();
    $con2 = $db->prepare("SELECT * FROM blog_comment");
    $con2->execute();
    while(($post_row = $con->fetch(PDO::FETCH_ASSOC)) && ($comment_row = $con2->fetch(PDO::FETCH_ASSOC))){
            if($post_row['postID'] == $comment_row['postID']){
                echo $post_row['postID'];
        }
    }

?>