Tweakers,
Voor een nieuwe webapplicatie wil ik informatie uit 2 database op 1 pagina weergeven en waar nodig combineren. Het gaat me nu alleen om het 1e stuk, het weergeven van de info uit beide databases. Na wat gesnuffel op http://nl.php.net/mysql_select_db dacht ik de goede oplossing te hebben maar ik krijg het voorbeeld niet werkend.
De databases zijn als volgt opgebouwd:
database 1
naam: intranet_jtm
user: root_jtm
wachtwoord: welkom
database 2
naam: intranet_vwe
user: root_vwe
wachtwoord: lal
Ik heb nu het volgende testscript:
Ik krijg dit maar niet werkend. De user informatie klopt, de tabel view is in beide databases aanwezig en bevat in beide data, de connectie werkt en toch selecteert mysql altijd de database uit de database waarvan als laatste de connecie aangemaakt is.
Voor de duidelijkheid, de tabel view bevat in intranet_vwe 1 rij en in intranet_jtm 29 rijen. Ik zou verwachten dat dit script ook die aantallen in die volgorde zou tonen maar ik krijg bij het volgende:
Op de een of andere manier kan hij bij de 1e query niets op halen. Iemand enig idee wat hier fout gaat?
Voor een nieuwe webapplicatie wil ik informatie uit 2 database op 1 pagina weergeven en waar nodig combineren. Het gaat me nu alleen om het 1e stuk, het weergeven van de info uit beide databases. Na wat gesnuffel op http://nl.php.net/mysql_select_db dacht ik de goede oplossing te hebben maar ik krijg het voorbeeld niet werkend.
De databases zijn als volgt opgebouwd:
database 1
naam: intranet_jtm
user: root_jtm
wachtwoord: welkom
database 2
naam: intranet_vwe
user: root_vwe
wachtwoord: lal
Ik heb nu het volgende testscript:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| <?php error_reporting(E_ALL); // voorbeeld van 1 user met 2 databases wat altijd zou moeten werken // none of thesehandles are re-used as the connection parameters are different on them all, despite connecting to the same server (assuming 'myuser' and 'otheruser' have the same privileges/accesses in mysql) $handle_db1 = mysql_connect("localhost","root_vwe","lal"); $handle_db2 = mysql_connect("localhost","root_jtm","welkom"); // give each handle it's own database to work with, permanently. mysql_select_db("intranet_vwe",$handle_db1); mysql_select_db("intranet_jtm",$handle_db2); //do a query from db1 : $query = "select * from view"; mysql_query($query,$handle_db1); // toon het aantal rijen echo ("<br>aantal rijen in view in database intranet_vwe</b>:"); echo (mysql_affected_rows()); echo ("<br>"); //do a query from db2: $query = "select * from view"; mysql_query($query,$handle_db2); // toon het aantal rijen echo ("<br>aantal rijen in view in database intranet_jtm</b>:"); echo (mysql_affected_rows()); echo ("<br>"); ?> |
Ik krijg dit maar niet werkend. De user informatie klopt, de tabel view is in beide databases aanwezig en bevat in beide data, de connectie werkt en toch selecteert mysql altijd de database uit de database waarvan als laatste de connecie aangemaakt is.
Voor de duidelijkheid, de tabel view bevat in intranet_vwe 1 rij en in intranet_jtm 29 rijen. Ik zou verwachten dat dit script ook die aantallen in die volgorde zou tonen maar ik krijg bij het volgende:
code:
1
2
| aantal rijen in view in database intranet_vwe:-1 aantal rijen in view in database intranet_jtm:29 |
Op de een of andere manier kan hij bij de 1e query niets op halen. Iemand enig idee wat hier fout gaat?
[ Voor 11% gewijzigd door Verwijderd op 09-03-2008 19:23 ]