簡體   English   中英

一次從 2 個表中獲取信息?

[英]get info from 2 tables at once?

我需要在一個查詢中從 2 個表中獲取信息,我在谷歌上搜索它並提出了連接? 我得到了這個代碼

mysql_query("SELECT code, url FROM apilinks, links WHERE apilinks.code='$code' and links.code='$code'");

但它似乎不起作用,它超過了這個 mysql 錯誤

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/codyl/public_html/projects/tests/tirl/code.php on line 18

I need to have it find url and code, in both the links table and the apilinks table, because the url has a get variable, and 'apilinks' is setup differently than 'links' so it will have the same looking url but it has檢查兩個表

我不認為您的錯誤來自您的 SQL 查詢,但無論如何:

您的 SQL 查詢生成笛卡爾積。 apilinks 中的每一行都與鏈接中的每一行相連。 這很少是你想要的。 您需要在 WHERE 子句中添加一個JOIN條件。

從您的查詢中,我猜code是您要加入的列。

SELECT links.code, url 
FROM apilinks, links 
WHERE apilinks.code=links.code
AND links.code='$code'

或者使用顯式連接,這對您來說可能更明顯:

SELECT links.code, url 
FROM apilinks INNER JOIN links ON apilinks.code=links.code
WHERE links.code='$code'

我認為您需要指定所需的code列:

SELECT links.code, links.url 
FROM   apilinks, links 
WHERE  apilinks.code='$code' 
AND    links.code='$code'

另一種語法:

mysql_query("SELECT a.code, l.url FROM apilinks a, links l WHERE a.code='$code' and l.code='$code'");

請注意,我假設 url 字段位於鏈接表中。

SELECT a.code, a.url 
FROM apilinks a, links l 
ON ( a.code = l.code )
WHERE a.code = "$code";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM