简体   繁体   English

php mysql从2个表的列中选择

[英]php mysql select from columns from 2 tables Join

I have two tables. 我有两张桌子。 visitors_details, with id,scanner_id,time columns and visitors_info with scanner_id, name,surname columns 带有ID,scanner_id,时间列的visitors_details和带有scanner_id,名称,姓氏列的visits_info

I want to get back id,name,surname,time in a table 我想找回表中的ID,名称,姓氏,时间

i have written this but is not working 我已经写了这个但是没用

$result = mysql_query("SELECT visitors_details.id AS id, 
visitors_info.name AS name, visitors_info.surname AS surname, visitors_details.time 
AS time FROM visitors_details AS d LEFT JOIN visitors_info AS i ON 
d.scanner_id=i.scanner_id ");

echo "<table border='1'>
<tr>
<th>id</th>
<th>name</th>
<th>surname</th>
<th>Time</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
 echo "<tr>";
 echo "<td>" . $row['id'] . "</td>";
 echo "<td>" . $row['name'] . "</td>"; 
 echo "<td>" . $row['surname'] . "</td>";
 echo "<td>" . $row['time'] . "</td>";
  echo "</tr>";
  }
   echo "</table>";

any ideas?? 有任何想法吗??

try this query 试试这个查询

 $result = mysql_query("SELECT d.id , i.name , i.surname , d.time 
                       FROM visitors_details AS d LEFT JOIN visitors_info AS i 
                        ON d.scanner_id=i.scanner_id ");

Its better to enable some debugging for your code like this: 最好为您的代码启用一些调试,如下所示:

<?php
error_reporting(E_ALL);
$sql = "
SELECT d.id AS id, i.name AS name, i.surname AS surname, d.time  AS time 
  FROM visitors_details AS d 
  LEFT JOIN visitors_info AS i ON d.scanner_id=i.scanner_id
";

$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

?> 

Add this to catch errors. 添加它以捕获错误。 saves a lot of time: 节省大量时间:

if(!$result) {
    echo mysql_error();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM