1)首先你會不會修改一個數(shù)據(jù),是真正明白操作的修改?
創(chuàng)新互聯(lián)建站是專業(yè)的忻府網站建設公司,忻府接單;提供成都網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行忻府網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
2)針對兩個數(shù)據(jù)庫各建一個連接,$link1和$link2,然后對后面操作數(shù)據(jù)庫的操作復制一份,采用不同的連接做輸入?yún)?shù),這樣就能同時修改兩個數(shù)據(jù)庫了。
實例化兩條sql鏈接.
例如?
$wdb?=?mysql_connect('localhost','root','123456','a1');//負責寫入的數(shù)據(jù)庫
$rdb?=?mysql_connect('192.168.xx.xx','root','123456','a2');//負責讀的數(shù)據(jù)庫
這樣就可以鏈接兩個數(shù)據(jù)庫了。
寫一段php代碼
做兩個數(shù)據(jù)庫鏈接,第一個讀取db1,然后生成Update?SQL語句,更新db2就行,如果id在db中不存在,更新結果0行。
$db1????=mssql_connect('192.168.1.100','sa','')?or?die('can?not?connect?to?db?server1');
mssql_select_db('db1',$db1);
$db2????=mssql_connect('192.168.1.200','sa','')?or?die('can?not?connect?to?db?server2');
mssql_select_db('db2',$db2);
//讀取db1數(shù)據(jù)中的數(shù)據(jù)
$result????=mssql_query("selct?*?from?table_name?order?by?id",$db1);
if(false!=$result){
while($line=mssql_fetch_assoc($result)){
$sql????=BuildUpdateSql($line,'id');
$rs????=mssql_query($sql,$db2);
}
}
function?BuidUpdateSql($data,$field='id'){
$sql????="";
if(empty($data)||!is_array($data))return????$sql;
if(empty($field))$field='id';
$PRI????=$data[$field];
$sql????.="Update?table_name2?Set?";
foreach($data?as?$key=$val){
$sql????.="?{$key}='{$val}',";
}
$sql????.="?Where?{$field}={$PRI}";
return????$sql;
}
也許是我孤陋寡聞了,似乎沒有辦法跨庫關聯(lián)查詢吧。如果非要跨庫關聯(lián),我能想到的辦法就是把兩邊的數(shù)據(jù)查詢出來并存入一個臨時表,再查詢臨時表。不過這種方法只是用于不同庫中相同或相似的表,比如有的數(shù)據(jù)量較大的分庫項目。
在回過頭來看你的項目需求,其實根本不需要跨庫的。首先在任意一個庫里創(chuàng)建一個表,在發(fā)送會議信息給會員的時候,除了這個表的主鍵之外,只需要記錄會員的id和會議的id,這兩個id分別從兩個庫里獲取。
你如果要查看某條會議信息發(fā)送的詳情,就通過這兩個id分別從兩個庫里獲取會員信息和會議信息。
你如果要查詢出列表,用笨辦法,因為你這個表肯定和會員或會議其中一個在一個庫了,可以關聯(lián),然后在列表循環(huán)中逐條查詢另一個數(shù)據(jù),雖然這樣有些影響性能,但是也比“跨庫關聯(lián)查詢”好點,況且如果數(shù)據(jù)多的話,一般都是分頁操作的話,一個列表最多二三十條記錄,一次查詢二三十也不會有太大影響。
另一個笨辦法,就是把發(fā)送記錄列表中所有需要列出的字段都記錄在發(fā)送會議信息的記錄表里,這樣就不需要在循環(huán)查詢另一個表了。但缺點就是這里面的數(shù)據(jù)就不能和會員以及會議信息的數(shù)據(jù)同步,除非你在更新會員以和會議信息的數(shù)據(jù)的同時更新這個表的數(shù)據(jù)。
但不管用哪種方式,我覺得都比“跨庫關聯(lián)查詢”要好,即使真的有“跨庫關聯(lián)查詢”的方法。
$conn1=mysql_connect('...','...','...'); //將第一個數(shù)據(jù)庫連接資源保存到變量conn1中
$conn2=mysql_connect('...','...','...'); //將第二個數(shù)據(jù)庫連接資源保存到變量conn2中
然后在執(zhí)行查詢操作時,指定使用哪個連接資源,如:mysql_query('select ....',$conn1);
希望可以幫到你,謝謝!
分享題目:php如何兩個數(shù)據(jù)操作 php如何兩個數(shù)據(jù)操作
標題URL:http://www.rwnh.cn/article42/hhsphc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站制作、面包屑導航、品牌網站建設、虛擬主機、手機網站建設、網站內鏈
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)