在php / mysql

时间:2015-05-13 16:30:19

标签: php mysql

我对Web开发比较陌生,我试图通过以下命令用数据库查询MySQL数据库,但是我无法这样做,我得到以下错误:

PHP代码:

$query1 = "SELECT id_2 FROM idTable WHERE id = '$idno'";
    $result1 = mysql_query($query1);
    if (!$result1)
        die("Database access failed(error 7): " . mysql_error());

    /************ possible error point *******************/
    $query2 = "SELECT * FROM Data NATURAL JOIN $result1 LIMIT $num,$last_num";
    $result = mysql_query($query2);
    if (!$result)
        die("Database access failed(error 8): " . mysql_error());

错误:

  

数据库访问失败(错误8):表' Database.Resource'不存在

基本上我有两张桌子。我需要从' id_2'中选择一些值。 idTable的列,并根据所选的值,我想从表中选择所有行'数据'通过执行连接操作匹配相应的ID。任何人都可以告诉我如何实现返回的资源和表的连接(或者一般来说,我如何解决我的问题)?

2 个答案:

答案 0 :(得分:1)

SELECT d.* 
  FROM Data d
  JOIN idtable i
    ON i.id2 = d.id
 WHERE i.id = $idno
 ORDER
    BY d.id
 LIMIT $num,$last_num;

答案 1 :(得分:0)

我仍然不确定这两个表之间的关系是什么,但有效的代码和查询应该是这样的:

$query1 = "SELECT * FROM Data 
   INNER JOIN idtable 
   ON idtable.id = Data.id_2
      AND idtable.id = $idno
   LIMIT $num,$last_num";
$result = mysql_query($query1);
if (!$result)
    die("Database access failed : " . mysql_error());

但有效不等于正确或好: - )

一旦我重新阅读了自己的查询,我就会遇到与@Strawberry相同的问题:为什么我们需要加入?为什么不呢:

$query1 = "SELECT * FROM Data 
   WHERE Data.id_2 = $idno
   LIMIT $num,$last_num";
$result = mysql_query($query1);
if (!$result)
    die("Database access failed : " . mysql_error());