当我使用这个php时,结果显示所有表,而不是table1.id=table2.id的特定条件 表1 表2
这是密码当我使用这个php时,结果显示所有表,而不是table1.id=table2.id的特定条件 表1 表2,php,mysql,mysqli,Php,Mysql,Mysqli,这是密码 $conn1 = @mysqli_connect('127.0.0.1','root','','signup'); $sql1 = "SELECT post_pic ,post_text FROM table2 INNER JOIN table1 ON (table2.User_id = table1.User_id) " ; $result = mysqli_query($conn1, $sql1); if(mysqli_num_rows($result)>0){
$conn1 = @mysqli_connect('127.0.0.1','root','','signup');
$sql1 = "SELECT post_pic ,post_text FROM table2 INNER JOIN table1
ON (table2.User_id = table1.User_id) " ;
$result = mysqli_query($conn1, $sql1);
if(mysqli_num_rows($result)>0){
while ($row = mysqli_fetch_array($result)){
因此,当im登录用户id=2用户id=1帖子显示时您需要在查询中指定用户id,为用户1获取图像的原因是您的代码目前运行正常 如果只想获取user1的数据,则需要添加一个where子句来指定用户ID 像这样:
//For Arguments Sake
$user_id = $_SESSION['loggedin_user_id'];
$sql1 = "SELECT post_pic ,post_text
FROM table2
INNER JOIN table1
ON (table2.id = table1.id)
WHERE table2.User_id = '$user_id'";
编辑:事实上,我刚刚注意到@04FS已经在一条评论中提到了它。好吧,连接的工作原理与连接的工作原理完全相同-但是没有看到您试图关联的数据,我们很难告诉您为什么它没有给出您期望的结果。如果您想将记录的选择限制为属于特定用户id的记录,那么您的语句应该有一个REQUIRE WHERE子句…qirel我编辑了它。。。我在哪里试过,但问题仍然没有解决表2中的用户id是表1中的用户id吗?我希望您的实际表命名更好。根据您的编辑,您的字段命名为User_id和User_id-而不是id和id。您需要加入这些字段。是的,我忘记了$User_id=$\u SESSION['loggedin_User_id'];我添加了WHERE table.user id='$user_id',如果这个答案对你有用,接受它,因为其他人可能会有和你一样的问题!
$conn1 = @mysqli_connect('127.0.0.1','root','','signup');
$sql1 = "SELECT post_pic ,post_text FROM table2 INNER JOIN table1
ON (table2.User_id = table1.User_id) " ;
$result = mysqli_query($conn1, $sql1);
if(mysqli_num_rows($result)>0){
while ($row = mysqli_fetch_array($result)){
//For Arguments Sake
$user_id = $_SESSION['loggedin_user_id'];
$sql1 = "SELECT post_pic ,post_text
FROM table2
INNER JOIN table1
ON (table2.id = table1.id)
WHERE table2.User_id = '$user_id'";