Php 如何正确连接两个表?

Php 如何正确连接两个表?,php,sql,pdo,Php,Sql,Pdo,你有耐心的地方会带你到某个地方,只是现在最后一个问题 它只对一方有效,只对没有任何报酬的人有效,有报酬的人看不到它,它只看到一页空白 $usersi = $dbh->prepare('SELECT * FROM recettes WHERE id_user = :id'); $usersi->bindParam(':id', $_GET['id'], PDO::PARAM_INT); $usersi->execute(); $usersis = $usersi->fetc

你有耐心的地方会带你到某个地方,只是现在最后一个问题

它只对一方有效,只对没有任何报酬的人有效,有报酬的人看不到它,它只看到一页空白

$usersi = $dbh->prepare('SELECT * FROM recettes WHERE id_user = :id');
$usersi->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
$usersi->execute();
$usersis = $usersi->fetchAll(PDO::FETCH_ASSOC);

对于id=1的用户:

<?php
$usersi_sql = $dbh->prepare('SELECT * FROM recettes WHERE id_user = 1');
$usersi_sql->execute();
$usersi = $usersi_sql->fetchAll(PDO::FETCH_ASSOC);
?> 

如果希望所有接收器链接到所有用户-

SELECT * FROM recettes INNER JOIN users ON recettes.id_user = users.id LIMIT 20
如果您希望将不同的接收器链接到所有用户-

SELECT DISTINCT recettes.* FROM recettes INNER JOIN users ON recettes.id_user = users.id LIMIT 20
如果您只需要一个用户-

SELECT * FROM recettes WHERE id_user = user LIMIT 20
将PHP调用更改为-

$usersi_sql->bindParam(':user', $user_id);
$usersi_sql->execute()

我的问题的解决办法是:

$usersi_sql = $dbh->prepare('SELECT * FROM recettes WHERE id_user = :id');
$usersi_sql->bindParam(':id', $ma['id'], PDO::PARAM_INT);
$usersi_sql->execute();
$usersi = $usersi_sql->fetchAll(PDO::FETCH_ASSOC);  
if(isset($usersi[0])) {
?>
这是您的HTML代码


我在我的top中使用了它,因为它还可以检查用户是否登录,但上面的代码是该代码的一部分。

有什么不起作用?有错误吗?如果是,请包括它,或者你表格的内容,你期望的结果,如果不是,你实际得到了什么。你面临的问题是什么?你能分享一下吗?我说的是“只显示食谱”按id选择,现在每个人都看到了其他的食谱。你能显示你的表格结构和预期输出的示例吗?你只想为一个用户选择食谱吗?不要使用连接;只需
从recettes中选择*,其中id\u user=:user
,然后
->执行([':user'=>$user\u id])
。您是否通过PHP传递了用户id?解析错误:语法错误,在/home/joshuox91/domains/recettes.nl/public\u html/new/profiel.PHP的第409行
$usersi\u sql=$dbh->prepare中出现意外的“['”('SELECT*FROM recettes WHERE id_user=:user LIMIT 20');$usersi_sql->bindParam(':user',$user_id);$usersi_sql->execute()$usersi_sql->fetchAll(PDO::FETCH_ASSOC);
SELECT*FROM recettes WHERE id_user=:user LIMIT 20。在这里替换userId并在数据库中运行,然后查看。如果您得到所有结果,就可以了。否则我是空的。它不起作用,因为他需要查看另一个表以查看id是否相同。@JoshuaHiwatLonden您能显示您的表结构和预期输出的示例吗租赁?编辑您的question@JoshuaHiwatLonden在这种情况下,将您的解决方案作为答案发布
<?php
}
 }else{
?>
<?php } ?>
$ma_sql = $dbh->prepare('SELECT * FROM users WHERE id = :id');
$ma_sql->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
$ma_sql->execute();
$ma = $ma_sql->fetch();