也許是我孤陋寡聞了,似乎沒有辦法跨庫關(guān)聯(lián)查詢吧。如果非要跨庫關(guān)聯(lián),我能想到的辦法就是把兩邊的數(shù)據(jù)查詢出來并存入一個(gè)臨時(shí)表,再查詢臨時(shí)表。不過這種方法只是用于不同庫中相同或相似的表,比如有的數(shù)據(jù)量較大的分庫項(xiàng)目。
成都創(chuàng)新互聯(lián)一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、成都網(wǎng)頁設(shè)計(jì)、重慶小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、成都app開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!
在回過頭來看你的項(xiàng)目需求,其實(shí)根本不需要跨庫的。首先在任意一個(gè)庫里創(chuàng)建一個(gè)表,在發(fā)送會(huì)議信息給會(huì)員的時(shí)候,除了這個(gè)表的主鍵之外,只需要記錄會(huì)員的id和會(huì)議的id,這兩個(gè)id分別從兩個(gè)庫里獲取。
你如果要查看某條會(huì)議信息發(fā)送的詳情,就通過這兩個(gè)id分別從兩個(gè)庫里獲取會(huì)員信息和會(huì)議信息。
你如果要查詢出列表,用笨辦法,因?yàn)槟氵@個(gè)表肯定和會(huì)員或會(huì)議其中一個(gè)在一個(gè)庫了,可以關(guān)聯(lián),然后在列表循環(huán)中逐條查詢另一個(gè)數(shù)據(jù),雖然這樣有些影響性能,但是也比“跨庫關(guān)聯(lián)查詢”好點(diǎn),況且如果數(shù)據(jù)多的話,一般都是分頁操作的話,一個(gè)列表最多二三十條記錄,一次查詢二三十也不會(huì)有太大影響。
另一個(gè)笨辦法,就是把發(fā)送記錄列表中所有需要列出的字段都記錄在發(fā)送會(huì)議信息的記錄表里,這樣就不需要在循環(huán)查詢另一個(gè)表了。但缺點(diǎn)就是這里面的數(shù)據(jù)就不能和會(huì)員以及會(huì)議信息的數(shù)據(jù)同步,除非你在更新會(huì)員以和會(huì)議信息的數(shù)據(jù)的同時(shí)更新這個(gè)表的數(shù)據(jù)。
但不管用哪種方式,我覺得都比“跨庫關(guān)聯(lián)查詢”要好,即使真的有“跨庫關(guān)聯(lián)查詢”的方法。
M("User u")-join("sex s,deparment d,job j")-where("u.sex=s.id,u.department=d.id,u.job=j.id")-select();
ps:下次弄個(gè)可以粘貼的,不然線下沒法測試。
?php
$conn1?=?mysql_connect("127.0.0.1",?"root","root","db1");
mysql_select_db("db1",?$conn1);
$conn2?=?mysql_connect("127.0.0.1",?"root","root","db2");
mysql_select_db("db2",?$conn2);
$sql?=?"select?*?from?db1.ip";?//關(guān)聯(lián)數(shù)據(jù)庫
$query?=?mysql_query($sql);
if($row?=?mysql_fetch_array($query))
echo?$row[0]."\n";
$sql?=?"select?*?from?db2.web?";
$query?=?mysql_query($sql);
if($row?=?mysql_fetch_array($query))
echo?$row[0];
?
這個(gè)我也不知道? 在網(wǎng)上幫你查了下?網(wǎng)頁鏈接
用一句好,兩句是壞習(xí)慣,因?yàn)镻HP運(yùn)行字符串換行,例如下面的語句是對(duì)的:
$mysql_command="
insert into $table_name(name,numb,age)
values ('劉華','200801',27)";
出現(xiàn)亂碼的問題,就是編碼造成的,你保存的文件里面是:
mysql_query("set names gb2312");
那么查詢的文件也應(yīng)該這樣設(shè)置,你的PHP源文件的編碼也必須ANSI(GB2312),數(shù)據(jù)的設(shè)置也必須是GB2312,查詢和插入數(shù)據(jù)的網(wǎng)頁瀏覽器編碼也必須是GB2312,所有的統(tǒng)一了就不會(huì)是????
1.建立兩個(gè)數(shù)據(jù)庫連接,查詢的時(shí)候分別調(diào)用。
2.使用dbname.tablename的方式來寫from,或者join(前提是你用于連接MYSQL的帳號(hào)必須同時(shí)可以訪問這兩個(gè)庫)
例如:dba,dbb
select * from dba.table1 as t1
join dbb.table1 as t2 on t1.id = t2.id