我对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。任何人都可以告诉我如何实现返回的资源和表的连接(或者一般来说,我如何解决我的问题)?
答案 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());