首页 > 解决方案 > 2 从数据库获取 SQL

问题描述

我的脚本有小问题。

我有数据库上的数据。但我需要使用同一张表中一张表的数据。而且我不知道如何使它完全正常工作。我尝试创建了一些功能,但他们将其写给了我。

$sql = "SELECT header,text,user_id FROM posts";
$result = $con->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {   
 <? echo $row["text"]; ?>

}
}

此代码有效但是当我再次将其放入其中以找出用户名时,它不会

$sql = "SELECT header,text,user_id FROM posts";
$result = $con->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {   
 <? echo $row["text"]; ?>


 $sql = "SELECT name FROM users WHERE id='$row["user_id"]'";
  $result = $con->query($sql);
  if ($result->num_rows > 0) {
   while($row = $result->fetch_assoc()) { 
     <? echo $row["name"]; ?>
   } 
  }    
}
}

这不起作用..我知道如何修复。

教程如何做得更好将不胜感激。

谢谢

标签: phpsql

解决方案


最简单的方法是在第一条语句中加入表:

$sql = "SELECT header,text,user_id,name FROM posts p LEFT JOIN users u ON u.id = p.user_id";
$result = $con->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {   
    echo $row["text"];
  }
}

您还应该了解有关Joins的知识。正如@TimBiegeleisen 所说,使用准备好的语句


推荐阅读