A. php 怎麼鏈接多個資料庫 並且做兩個資料庫的兩個表關聯查詢
也許是我孤陋寡聞了,似乎沒有辦法跨庫關聯查詢吧。如果非要跨庫關聯,我能想到的辦法就是把兩邊的數據查詢出來並存入一個臨時表,再查詢臨時表。不過這種方法只是用於不同庫中相同或相似的表,比如有的數據量較大的分庫項目。
在回過頭來看你的項目需求,其實根本不需要跨庫的。首先在任意一個庫里創建一個表,在發送會議信息給會員的時候,除了這個表的主鍵之外,只需要記錄會員的id和會議的id,這兩個id分別從兩個庫里獲取。
你如果要查看某條會議信息發送的詳情,就通過這兩個id分別從兩個庫里獲取會員信息和會議信息。
你如果要查詢出列表,用笨辦法,因為你這個表肯定和會員或會議其中一個在一個庫了,可以關聯,然後在列表循環中逐條查詢另一個數據,雖然這樣有些影響性能,但是也比「跨庫關聯查詢」好點,況且如果數據多的話,一般都是分頁操作的話,一個列表最多二三十條記錄,一次查詢二三十也不會有太大影響。
另一個笨辦法,就是把發送記錄列表中所有需要列出的欄位都記錄在發送會議信息的記錄表裡,這樣就不需要在循環查詢另一個表了。但缺點就是這裡面的數據就不能和會員以及會議信息的數據同步,除非你在更新會員以和會議信息的數據的同時更新這個表的數據。
但不管用哪種方式,我覺得都比「跨庫關聯查詢」要好,即使真的有「跨庫關聯查詢」的方法。
B. PHP資料庫兩個表的連接問題
這是查找。select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID如果要分頁的話,就在後面加 limit 如:select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID limit 0,5, 就是查 0到 第5條記錄。具體數字還是得自己設置哦。
C. php如何兩個表聯合查詢
SELECT a.A表欄位名, b.B表欄位名 FROM A表名 a LEFT JOIN B表名 b WHERE 條件自己寫,例如(a.欄位名 != '' ) ON a.欄位名 = b.欄位名
這種聯合查詢的限制是ab2表必須有一個相同的關鍵字,且相等
D. php 資料庫 多表連接
你的這條語句有問題:
while($re_ = mysql_fetch_array($nsql))
{
$name=$re_['name'];
$price=$re_['price'];
}
這里應該寫成:
while($re_ = mysql_fetch_array($nsql))
{
$name[]=$re_['name'];
$price[]=$re_['price'];
}這樣$price才會是一個數組
E. php如何同時向2個表插入數據關聯
1、數據插入成功後會返回一個ID,這個ID就是插入成功的這條數據的ID。設置一個變數接受。
例如:$did=「mysql插入語句」;
2、接受到了後就可以將獲取到的ID用另一條sql語句插入到另一個數據表中去了。
格式如下:
$did=「mysql插入語句」;
mysql_query("插入語句");這條插入語句寫入上一條執行後返回的結果。
這樣兩個數表就相當於用ID關聯了。
F. php如何關聯兩個或者多個數據表
至少三個方法可以實現:
一、使用視圖來實現多表聯合查詢,
例如:創建視圖:create view userstoposts as select u.name,u.qq,p.post_id,p.title, p.contents, p.contents from users as u,posts as p where u.name=p.name
二、直接使用表聯合查詢
例如:select u.name,u.qq,p.* from users as u,posts as p where u.name=p.name
三、結合PHP語言實現
例:1、
<?php
$Sql="select *from posts";
$Result=@mysql_query($Sql);
while($rows=mysql_fetch_assoc($Result)){
$sql1="select name,qq from users where name='".$rows['name']."'";
$result1=@mysql_query($sql1);
$rows1=mysql_fetch_assoc($result1);
$OUTPUT[]=array(
'name'=>$rows['name'],
'qq'=>$rows1['qq'],
'post_id'=>$rows['post_id'],
'title'=>$rows['title'],
'contents'=>$rows['contents']
);
}
print_r($OUTPUT);//可以你需要的結果輸出
?>
G. php如何在同一個頁面裡面同時連接多個不同的資料庫表
<?php
$link_A=mysql_connect("localhost:917","root","skcg1024",true);
mysql_select_db("db_a",$link_A);
$link_B=mysql_connect("localhost:917","root","skcg1024",true);
mysql_select_db("db_a",$link_B);
print_r($link_A);
print_r($link_B);
mysql_connect的第四個參數設置成true,表示創建一個新的連接
這樣你就獲得咯兩個資料庫連接,然後指定對應的資料庫即可。但不建議這么做
建議採用資料庫.數據表的格式訪問存儲數據,代碼簡練,邏輯清楚
H. 在php中如何同時向2個表插入數據
1、這個可以直接在同一個方法或者一個執行裡面寫兩條插入SQL的語句的。
2、如果是有相關聯的話 可以啟用事務的模式。這樣如果有一條沒有執行成功,那麼都無法成功
I. php中怎麼把兩張表鏈接
select a.*,b.replies from a join b on a.id=b.aid where fid=2 limit 0,7
你試一下這個
J. php mysql中如何讓兩個表進行關聯,具體如下:
照你所說的話,登陸後發布新聞,那你登陸後肯定會用用session或者cookie 來保存登陸id的
那麼你插入新聞的時候
"insert into news (title,content.uid) values ('title','content','這里session或者cookie')"
既然查詢有id來關聯了
那麼查詢的時候就用left join
"select * from news as n left join user as u on n.uid=u.uid where=『條件你自己寫』 "