**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
两年前关门了。
改进这个问题
我正在编写一个php脚本,希望创建一个内部连接,以便 SELECT
来自另一个表的数据 id
(英寸 theList
表)和 postid
(在 post_rating
)table是一样的。
我相信代码应该是这样的:
INNER JOIN post_rating ON theList.id=post_rating.postid
下面是我正在使用的代码。我添加了一个 $join
变量。
因为某些原因它不起作用!当我试图删除$join并 post_rating.postid
在 SELECT
它也不起作用-如果这有帮助的话!
我怎样才能让它工作!非常感谢:)
<?php
$pdo = new PDO('mysql:host=localhost;dbname=myDB', 'root', 'root');
$select = 'SELECT theList.id, theList.name, post_rating.postid';
$from = ' FROM theList';
$where = ' WHERE TRUE';
$join = ' INNER JOIN post_rating ON theList.id=post_rating.postid';
$opts = isset($_POST['filterOpts'])? $_POST['filterOpts'] : array('');
if (in_array("pub", $opts)){
$where .= " AND pub = 1";
}
if (in_array("bar", $opts)){
$where .= " AND bar = 1";
}
if (in_array("restaurant", $opts)){
$where .= " AND restaurant = 1";
}
if (in_array("club", $opts)){
$where .= " AND club = 1";
}
$sql = $select . $from . $where . $join ;
$statement = $pdo->prepare($sql);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
echo($json);
?>
2条答案
按热度按时间scyqe7ek1#
我不知道这是否能为您解决问题,可能还有其他问题,但请尝试:
$sql = $select . $from . $join . $where;
t2a7ltrp2#
在一个有效的查询中,连接之后的位置是什么,所以请将位的串联修改为
$sql
```$sql = $select . $from . $join . $where;