2010-06-26 56 views
0

我想在一個查詢中選擇多個表說,像下面並插入到多個表:如何在一行中選擇多個表?並插入?

$result = $db->sql_query("SELECT * FROM data1,data2,data3,data4 WHERE person='" .$name. "'"); 

$row = $db->sql_fetchrow($result); 
$day = $row['regtime']; 
$days = (strtotime(date("Y-m-d")) - strtotime($row['regtime']))/(60 * 60 * 24); 
if($row > 0 && $days < 15){ 

$row = ['name']; 
$row = ['age']; 

//etc 

}else { //do something 

if ($row == 0 && $name > 0){ 
$db->sql_query("INSERT INTO data1 ?????? 

} 

這似乎天都沒有,因此計算出它總是處理新的數據,而不是訪問表中存儲的數據問題...

這有什麼辦法可以得到工作?

+0

請你能更明確嗎? – 2010-06-26 18:58:59

回答

1

它看起來像你想要使用join。有許多不同的連接,但它們都涉及要求第一個表中的一個或多個列與第二個表中的一個或多個列對齊。在上面的查詢中,您在FROM子句中包含大量表,但是您沒有指定表應該如何連接在一起。

不知道每個表的樣子,很難用你的表給出一個例子。我上面提供的鏈接有很多很多的例子。

+0

有一個問題在加入$ name變量充滿了用戶搜索...所以我需要在所有表中搜索$ name – mathew 2010-06-26 19:07:04

+0

這聽起來像名稱列是你想用來加入所有的表一起然後! 'SELECT * FROM table1,table2 WHERE table1.name = table2.name AND table1.name =?' – Charles 2010-06-26 19:13:23

+0

是的,我需要結合名稱列,然後用用戶搜索名稱調用它們......但在您的示例中,您只顯示了兩個我得到了4 ..那麼我怎麼改變這個根據? – mathew 2010-06-26 19:22:50