我正在使用JOIN连接两个表:
$sql = "SELECT * FROM employee JOIN employee_medical on employee = medical_notes";
$data = mysql_query($sql , $testing);然后我显示表格和数据:
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代码有问题吗?显示了我的表,但没有显示数据。
发布于 2015-08-11 22:38:12
不确定是否存在任何与PHP相关的问题,但您的查询ON子句很奇怪。它应该看起来像
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;发布于 2015-08-11 23:29:03
修复和解决方案:
当您引用多个表时,使用die(":: ".mysql_error($testing));输出任何
$sql = "SELECT * FROM employee JOIN employee_medical on employee.employee = employee_medical.medical_notes";
看到<Table>.<column>结构了吗?一定要用到它。
JOIN,养成这个习惯是一个非常好的主意。有内部,外部和一些其他的连接,请探索并澄清你的代码。$testing的连接,您就快要成功了!将所有MySQL_命令转换为mysqli_<whatever>($connection, $querty); (它稍微复杂一点,但只有一点点。mysql_fetch_array可能不会返回键值,这取决于您的SQL的设置。因此,如果数据没有出现,但您确定它在那里,那么可以尝试使用mysqli_fetch_assoc()。https://stackoverflow.com/questions/31944491
复制相似问题