[英]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.