ray Posted February 11, 2009 Report Share Posted February 11, 2009 (edited) Vai ir iespējams no divām mysql datubāzēm ņemt datus reizē un publicēt tos mājas lapā? piemēram vienā glabājas jaunumi, otrā komentāri (tas ir tikai piemērs, nevis reālās situācijas vajadzība). Jā jā, tad kādā veidā? Edited February 11, 2009 by ray Link to comment Share on other sites More sharing options...
Aleksejs Posted February 11, 2009 Report Share Posted February 11, 2009 Jā, ir iespējams. Ja DB atrodas uz viena servera, tad vispār nav problēmu: SELECT lauks1 FROM db1.tabula1; SELECT lauks2 FROM db2.tabula2; Ja uz dažādiem serveriem, tad būs problēmas (manuprāt) ar kopu apvienošanu (ja gribi vienā rezultātā iegūt datu šķēlumu/apvienojumu utt no šīm DB). Taču, ja vajag tikai izdrukāt visus jaunumus, tad taisi vienu mysql_connect uz vienu serveri, dabū visus jaunumus, tad mysql_connect uz otru serveri un izvadi visus komentārus (!!! komentāri ir pilnībā nesaistīti ar jaunumiem, vai ne ?) Vai arī tomēr Tavs jautājums ir šāds: "Vai ir iespējams apvienot divu tabulu datus vienā rezultātā"? Piemēram, izdrukāt jaunumus pie katra jaunuma pieliekot šī jaunuma komentārus. Link to comment Share on other sites More sharing options...
Delfins Posted February 11, 2009 Report Share Posted February 11, 2009 k-kā stulbi glabāt datus 2-ās DB :) ... labi es saprotu, otrā DB uzkrāt transakcijas... bet anyway, tad pirmajā jātaisa "kopsumas" vismaz :) Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 (edited) man vajag divas datubāzes, jo katram klientam ir sava db ar sev vajadzīgiem datiem (pirmā db), bet viena datubāze būs kopīgiem datiem (otrā db). Kopīgā db vajadzīga, lai katru reizi, kad šie dati ir jāizmaina, tie nebūtu jāmaina visās klientu db. ceru, ka domu sapratāt. p.s. db atrodas uz viena servera Edited February 11, 2009 by ray Link to comment Share on other sites More sharing options...
Aleksejs Posted February 11, 2009 Report Share Posted February 11, 2009 Bet tās datubāzes ir uz viena un tā paša MySQL servera, vai ne? Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 jā viss notiek uz viena servera. google.lv atradu kaut ko šādu: $con = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("<p align=\"center\">No database selected</p>"); mysql_select_db(DB_NAME, $con); mysql_query("SET NAMES UTF8", $con); $con2 = @mysql_connect(DB_HOST2, DB_USER2, DB_PASSWORD2) or die("<p align=\"center\">No database selected</p>"); mysql_select_db(DB_NAME2, $con2); mysql_query("SET NAMES UTF8", $con2); $sql = mysql_query("SELECT * FROM table", $con); while($row = mysql_fetch_array($sql)) { echo $row["id"]."<br />"; } $sql = mysql_query("SELECT * FROM table", $con2); while($row = mysql_fetch_array($sql)) { echo $row["id"]."<br />"; } šis man īsti nedarbojas, met ārā kļūdas paziņojumu. kur ir problēma? Link to comment Share on other sites More sharing options...
bubu Posted February 11, 2009 Report Share Posted February 11, 2009 Tie ir divi MySQL serveri (lai arī fiziski uz viena datora-"servera", tas po), nevis uz viena MySQL servera. Ja būtu viens MySQL serveris, tad nevajadzētu taisīt divas konekcijas - pietiku ar vienu, un tad vajadzētu darīt tā kā Aleksejs jau #2 postā parādīja. šis man īsti nedarbojas, met ārā kļūdas paziņojumu. kur ir problēma? Problēma ir tur, ka tu mums liec zīlēt tējas biezumos, nepasakot savu kļūdas paziņojumu :) Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 (edited) Problēma ir tur, ka tu mums liec zīlēt tējas biezumos, nepasakot savu kļūdas paziņojumu :) mysql_num_rows(): supplied argument is not a valid MySQL result resource (saprotu ko kļūda nozīmē, bet nesaprotu kapēc, jo vaicājums ir pareizs) ar tekstu "db atrodas uz viena servera" biju domājis, ka db atrodas uz viena mysql servera SELECT lauks1 FROM db1.tabula1;SELECT lauks2 FROM db2.tabula2; db1 un db2 ir datubāzes nosaukumi? man datubāzēm dažādi useri ar parolēm. Edited February 11, 2009 by ray Link to comment Share on other sites More sharing options...
Aleksejs Posted February 11, 2009 Report Share Posted February 11, 2009 Pirms mysql_num_rows() noteikti, ka Tev ir mysql_query(...) Uzraksti: mysql_query(...) or die(mysql_error()); db1 un db2 ir datubāzes nosaukumi? man datubāzēm dažādi useri ar parolēm. Jā, db1 un db2 ir datu bāzu nosaukumi. Nu, tad uztaisi lietotāju, kam ir tiesības piekļūt abu datu bāzu vajadzīgajām tabulām. Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 mysql_error saka, ka nav tipa tāda tabula iekš db2 (jo viņa ir iekš db1). Reāli ir tā, ka tiek meklēts iekš $con2, bet es tajā vaicājumā esmu norādījis, lai meklē iekš $con. Link to comment Share on other sites More sharing options...
Aleksejs Posted February 11, 2009 Report Share Posted February 11, 2009 Reāli ieliec kodu iekš paste.php.lv un parādi, citādi sanāk nereāli. :) Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 Te būs Link to comment Share on other sites More sharing options...
bubu Posted February 11, 2009 Report Share Posted February 11, 2009 Un tiešām saka, ka nav tāda settings tabula? Ieliec tā vietā šādu kodu: $sql = mysql_query("SHOW TABLES", $con) or die(mysql_error()); while($row = mysql_fetch_row($sql)) { echo $row[0], "<br />"; } Kādas tev tur tabulas izvada? Link to comment Share on other sites More sharing options...
ray Posted February 11, 2009 Author Report Share Posted February 11, 2009 nekādas, jo db2 pagaidām ir tukša Link to comment Share on other sites More sharing options...
Delfins Posted February 11, 2009 Report Share Posted February 11, 2009 vnk ideāli - kaut ko selektēt uz tukšu DB :D Link to comment Share on other sites More sharing options...
Recommended Posts