首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在使用连接两个表,但未显示数据

正在使用连接两个表,但未显示数据
EN

Stack Overflow用户
提问于 2015-08-11 22:26:16
回答 2查看 41关注 0票数 1

我正在使用JOIN连接两个表:

代码语言:javascript
复制
   $sql = "SELECT * FROM employee JOIN employee_medical on employee = medical_notes";
   $data = mysql_query($sql , $testing);

然后我显示表格和数据:

代码语言:javascript
复制
   echo "<table border=2>
    <tr>
   <th>emp_id</th>
   <th>emp_name</th>
   <th>emp_ic</th>
   <th>emp_phone</th>
   <th>emp_address</th>
   <th>medical_notes</th>
   </tr>";


if($data = mysql_query($sql) or die ())
  {

while ( $record = mysql_fetch_array($data))
{

    echo"<tr>";
    echo "<td>" . $record['emp_id'] . "</td>";
    echo "<td>" . $record['emp_name'] . "</td>";
    echo "<td>" . $record['emp_ic'] . "</td>";
    echo "<td>" . $record['emp_phone'] . "</td>";
    echo "<td>" . $record['emp_address']. "</td>";
    echo "<td>" . $record['medical_notes']. "</td>";
    echo "</tr>";
}

};

我的PHP代码有问题吗?显示了我的表,但没有显示数据。

EN

回答 2

Stack Overflow用户

发布于 2015-08-11 22:38:12

不确定是否存在任何与PHP相关的问题,但您的查询ON子句很奇怪。它应该看起来像

代码语言:javascript
复制
SELECT e.* 
FROM employee e 
//Provide proper column names on which to join both the table 
JOIN employee_medical em on e.employeeid = em.medical_notes;
票数 2
EN

Stack Overflow用户

发布于 2015-08-11 23:29:03

修复和解决方案:

当您引用多个表时,使用die(":: ".mysql_error($testing));输出任何

  • 需要在MySQL中定义的列,对于引用的每一列,Rahul都有正确的答案。所以:

$sql = "SELECT * FROM employee JOIN employee_medical on employee.employee = employee_medical.medical_notes";

看到<Table>.<column>结构了吗?一定要用到它。

  • 如果要声明你想要使用哪种类型的JOIN,养成这个习惯是一个非常好的主意。有内部,外部和一些其他的连接,请探索并澄清你的代码。
  • 更新到MySQLi,您已经引用了与$testing的连接,您就快要成功了!将所有MySQL_命令转换为mysqli_<whatever>($connection, $querty); (它稍微复杂一点,但只有一点点。
  • mysql_fetch_array可能不会返回键值,这取决于您的SQL的设置。因此,如果数据没有出现,但您确定它在那里,那么可以尝试使用mysqli_fetch_assoc()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31944491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档