2013-03-04 39 views
0

我需要用php查詢查詢數據庫。PHP SQL查詢2表

我需要得到與$ somevalue相匹配的id,並使用該ID查詢表2,以便我可以獲取包含在該行中找到id的字段值。

$somevalue = '123'; 


Select id from table1 where $somevalue = id 

...so we have the ID ... now we query table 2 

select id, field2 from table2 where id = $id 

echo $id; 
echo $field2 

我該如何在php查詢中做到這一點?

+3

PHP沒有查詢。 SQL的確如此。 – 2013-03-04 13:48:47

+0

我認爲,您正在尋找['join'](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDQQFjAA&url=http%3A%2F %2Fdev.mysql.com%2Fdoc%2Frefman%2F5.0%2Fen%2Fjoin.html&EI = XaY0Uev6CMX2sgae8oHABA&USG = AFQjCNGXZQycUZ9UHnvO4i2-l6UslF5wRA&SIG2 = 2GIxQIwfdDigTjxvYdWilA&BVM = bv.43148975,d.Yms)。 – Leri 2013-03-04 13:49:54

+0

你爲什麼要從table1中獲取「id」,當你已經在比較$ somevalue和id – Sebastjan 2013-03-04 13:49:56

回答

0

使用內連接

SELECT table2.id table2.field FROM table1 
INNER JOIN table2 ON table2.id = table1.id 

沒有測試代碼,並且我對SQL(連接)是新鮮的。但你看到該模式:)

0

您的查詢語法應該是這樣的:

Select id from table1 where id = $somevalue 

但是,爲什麼你要相同的ID,與您正在搜索?你可以直接這樣做:

select id, field2 from table2 where id = $somevalue 

看起來一團糟:(

無論如何,你可以如何在PHP

執行查詢
0

試試這個Check This link

"SELECT * FROM table1 as t1 Left JOIN table2 as t2 ON t1.id = t2.id WHERE t1.id = ".$somevalue."" 
1

只需試試這個。

select t2.id, t2.field2 from table2 t2, table1 t1 where t1.id = t2.id and t1.id = $someValue 

完整的代碼如下

$query = sprintf("select t2.id, t2.field2 from table2 t2, table1 t1 where t1.id = t2.id and t1.id = '%s'", 
    mysql_real_escape_string($somevalue)); 

// Perform Query 
$result = mysql_query($query); 

while ($row = mysql_fetch_assoc($result)) { 
    echo $row['id']; 
    echo $row['field2']; 
} 
0

你應該能夠這樣使用JOIN來實現的,下面是一個使用該代碼的問題

SELECT t2.field2 
FROM table1 t1 
JOIN table2 t2 
    ON t1.id = t2.id 
WHERE t1.id = $someValue 

什麼沒有按一個例子在這裏看起來就是加入Id列的表格。這通常是主鍵,不太可能用於連接的兩側。

從一個表到另一個表進行連接以重建數據模型。爲了更具體一些,我會將table1更改爲Peopletable2Addresses。以下查詢通過People表獲取特定人員的StreetName。在這種情況下,People表中有一欄AddressId持有的Id此人在地址表

SELECT a.StreetName 
FROM People p 
JOIN Addresses a 
    ON p.AddressId = a.id 
WHERE t1.id = $someValue 

然後,您可以申請任何機制PHP提供運行查詢