Kako povezati 2 mysql bazi hkrati?
 
klopar 23. jul 2014 13:51:23 Pridružen od:
17. feb 2012
446 objav
78 113 24
#1

Pozdravljeni,



Na internetu sem našel nekaj primerov za povezavo dveh baz (Multiple mysql database). Bazi sta na istem strežniku. Nekje sem zasledil, da bazi lahko združim tako, da se doda new pri povezavi s serverjem. Primer: $povezava = new mysqli_connect('localhost',' ',' ',' ');. To sem tudi poskusil vendar mi ne deluje.



Za trenutno branje ene povezave uporabljam spodnjo kodo. ( Spodnja koda deluje samo za eno bazo.



Če na kratko povzamem želim, dobiti iz obeh baz podatke istočasno in jih prikazati.



$povezava = mysqliconnect('localhost',' ',' ',' ');

mysqli
set_charset($povezava,"utf8");



mysqliselectdb($povezava,"TABELA");



$preberi = "SELECT * FROM TABELA Where imeurl='$imeurl' ";

$preberi = $povezava>query($preberi);

$preberipodatek = $preberipodnapiseinfo->numrows;


všeč(1) ni všeč(3) spam(0)
 
Weby 23. jul 2014 21:11:26 Pridružen od:
30. apr 2008
770 objav
120 21 2
#2

Tabela ali baza?

Sprašuješ glede baze v kodi pa omenjaš table.



PS: Z mysqliselectdb izbiraš bazo ne tabelo.


všeč(0) ni všeč(0) spam(0)
No Packages marked for Update
 
klopar 23. jul 2014 21:27:13 Pridružen od:
17. feb 2012
446 objav
78 113 24
#3

Mogoče sem malce preveč zakompliciral... Bom probal malce drugače zapisati. Prebrati želim obe bazi hkrati (ime prve baze je baza1 in ime druge baze je baza2) iz obeh baz pa želim prebrati poljubne tabele ( iz baze1 -> Tabela 1 in iz baze 2 -> Tabela 2 ). Podatke pa želim prikazati istočasno na strani iz obeh tabel ( Tabela 1 in Tabel 2 ). Torej podatke iz tabele 1 ( se nahaja v bazi 1) in iz tabele 2 ( se nahaja v bazi 2 ) želim prikazati na strani istočasno.



Mogoče bo tako bolj razumljivo. Želel sem tako ( vendar to ne deluje ):



$povezava1 = mysqliconnect('localhost',' ',' ',' '); in $povezava2 = new mysqliconnect('localhost',' ',' ',' ');


všeč(0) ni všeč(0) spam(0)
 
OvcaX 23. jul 2014 21:29:14 Pridružen od:
24. avg 2007
2753 objav
4575 1194 281
#4

Naredi še eno povezavo preko druge variable



$povezava1

In

$povezava2


všeč(0) ni všeč(0) spam(0)
CEO@Humanfrog & CEO@Junai
 
pavarti 24. jul 2014 05:49:39 Pridružen od:
26. okt 2011
445 objav
587 92 14
#5

Lahko se povežeš preko ene povezave, samo user ki se povezuje imore imeti pravice za dostop do obeh baz.



Nato dostopaš tako:



SELECT ... FROM BAZA1.TABELA1



lpd


všeč(1) ni všeč(1) spam(0)
 
klopar 25. jul 2014 10:32:31 Pridružen od:
17. feb 2012
446 objav
78 113 24
#6

pavarti kako pa lahko to naredim? Se to naredi v phpmyadminu?


všeč(0) ni všeč(2) spam(0)
 
Gogy 25. jul 2014 11:43:53 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#7

če imaš cPanel, greš tam na MySQL databases, in če imaš dve bazi npr



baza1

baza2



user1

user2



baza1 (user1)

baza2 (user2)



dodaš npr k bazi baza1 še user2 da bo



baza1(user1, user2)

baza2(user2)



in potem z user2 delaš query takole


SELECT * FROM baza1.imetabele prva, baza2.imetabele druga WHERE prva.imepolja = 'Ljubljana' and druga.imepolja='Ljubljana'

Če imaš to lokalno greš pa v phpmyadmin in izbereš bazo na kateri želiš dodati še drugega uporabnika



Nato v SQL zavihku vpišeš npr


GRANT ALL PRIVILEGES ON baza1.* TO 'user2'@'%' WITH GRANT OPTION;

Lahko mu daš tudi drugačne pravice, namesto GRANT ALL daš GRANT SELECT



Če mu želiš dati samo SELECT pravice in samo NA ENO TABELO v bazi daš npr


GRANT SELECT PRIVILEGES ON baza1.imetabele TO 'user2'@'%' WITH GRANT OPTION;

Pisal sem po spominu (postopek), stavke pa sem kopiral tako da so možne napake v postopku.



Lahko pa vprašaš če kaj ne bo šlo in daš kak screenshot zraven za lažjo predstavo.


všeč(1) ni všeč(0) spam(0)
 
klopar 26. jul 2014 07:15:48 Pridružen od:
17. feb 2012
446 objav
78 113 24
#8

Gogy najlepša hvala. Bom poskusil in javim.


všeč(0) ni všeč(0) spam(0)
 
mraz1337 26. jul 2014 07:21:03 Pridružen od:
29. jun 2014
80 objav
58 2 1
#9

Ena možnost bi bila mogoče tudi da narediš view, ki zduži podatke iz obeh baz in obeh tabel in potem delaš samo s tem view-om.


všeč(0) ni všeč(0) spam(0)
 
spicey 26. jul 2014 09:29:52 Pridružen od:
2. avg 2007
70 objav
87 3 3
#10

Ma dejte že nehat izumlat, pustmo to, da verjetno sploh ne potrebuje dveh baz, ampak dobil je obe rešitvi, 2 povezavi ali dodajanje baze v query.



Mal se skulirite preden kdo začne kakšen extension za mysql pisat, ki bo sam ugotavljal iz katere baze želi klopar dobit podatke...


všeč(9) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se