代码:
$query = mysqli_query($conn, "SELECT * FROM zoekkoper WHERE user_id = (SELECT id FROM USERS WHERE email='$session_email')");
while ($record = mysqli_fetch_assoc($query))
{
table output...
}
有两张桌子:
1)用户(id)
2)zoekkopers(id,user_id)
想要从表''用户'id匹配表'zoekkopers'中选择结果。 id和user_id在两个表中具有相同的值。当前登录的用户应该只能看到自己的附加值。 我在我的phpadmin中尝试了sql,这给了我正确的结果但是我没能在php中使用它。如果我删除WHERE部分,那么我从数据库中的所有用户获得所有结果值,只是希望它对每个用户更具体。
$ session_email是当前登录的用户。
还在PHP中尝试了这个sql:
"SELECT * FROM zoekkoper JOIN users ON (user_id=id) WHERE email='$session_email'");
PHPMYADMIN:
SELECT *
FROM `zoekkoper`
WHERE user_id = (
SELECT id
FROM users
WHERE email = '...' )
答案 0 :(得分:1)
你需要加入如下: -
$query = mysqli_query($conn, "SELECT * FROM zoekkoper JOIN users ON zoekkoper.user_id= users.id WHERE users.email='$session_email'") or die(mysqli_error($conn));
答案 1 :(得分:0)
我认为,你应该在where子句中使用$string = str_replace(["'", '=>', '[', ']'], ['"', ':', '{', '}'], $string);
print_r(json_decode($string, true));
,因为子选择可能会返回多个结果;
IN