verschillende database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zap

zap

06/11/2006 08:58:00
Quote Anchor link
Hallo,
Ik heb op een pr pagin's dat gegevens uit verschillende databases moet halen, de host/user/pass zijn hetzelfde alleen de database is anders, hoe kan ik dit nou goed in php zeten? Want bijv bij querie1 moet ik gegevens uit db1 halen en bij querie2 uit db2. Hoe kan ik dit netjes doen?
M.v.g. ZaP
 
PHP hulp

PHP hulp

18/11/2024 20:40:23
 
Lissy Pixel

Lissy Pixel

06/11/2006 09:45:00
Quote Anchor link
Tip: misschien dat je ook een handleiding over mysql queries en JOIN nodig hebt:
http://www.w3schools.com/sql/sql_join.asp
 
Klaasjan Boven

Klaasjan Boven

06/11/2006 10:00:00
Quote Anchor link
mysql_query()
Beschrijving

resource mysql_query ( string query [, resource link_identifier] )

Oftewel gewoon de connectie met de query meegeven
 
Willem Jan Z

Willem Jan Z

06/11/2006 10:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
mysql_connect($host,$user,$pass);
$db1 = mysql_select_db('db1');
$db2 = mysql_select_db('db2');
$db3 = mysql_select_db('db3');

mysql_query("SELECT * FROM tabel",$db1);
mysql_query("SELECT * FROM tabel",$db2);
mysql_query("SELECT * FROM tabel",$db3);
?>
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 
Zap

zap

07/11/2006 08:19:00
Quote Anchor link
Hallo, bedank willem-jan :)
Alleen het werk nog niet, ik probeerde het eerst zoals jij zei, maar toen vertekde php dat die komma niet goed was. dus heb ik die komma binnen de "tags gezet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$select
= "SELECT * FROM news
WHERE hot = 1 ORDER by id DESC LIMIT 0,1 ,$db3"
;

$query = mysql_query($select);

$count = mysql_num_rows($query);
?>


Die count staat trouwen op lijn 28, maar nu krijgik deze error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Warning: mysql_num_rows(): supplied argument is not a valid
MySQL result resource in /home/gamereac/public_html/777/nieuws.php
on line 28


En hij leest gewoon niks ui de dataase, dit is mijn config.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $dbhost
= 'localhost';
    $dbuser = '****';
    $dbpass = '****';
                    
mysql_connect ($dbhost, $dbuser, $dbpass);
$db2 = mysql_select_db('gamereac_forum');
$db3 = mysql_select_db('gamereac_news');
$db4 = mysql_select_db('gamereac_images');
$db5 = mysql_select_db('gamereac_review');
?>


Weet iemand wat ik fout doe?

M.v.g. ZaP
Gewijzigd op 01/01/1970 01:00:00 door zap
 
Willem Jan Z

Willem Jan Z

07/11/2006 08:28:00
Quote Anchor link
Ik weet wel wat ik fout deed :)
Je kan in mysql_query geen $db meegeven. Maar die moet uiteraard ook niet in je query.

Het wordt iets vervelender, maar het kan gewoon nog steeds. Kost alleen iets meer tijd soms.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
mysql_connect($host,$user,$pass);
mysql_select_db('db1');
mysql_query("SELECT bla FROM boe;"); // Query op db1

mysql_select_db('db2');
mysql_query("SELECT bla FROM boe;"); // Query op db2

mysql_select_db('db3');
mysql_query("SELECT bla FROM boe;"); // Query op db3
?>


mysql_query pakt altijd de laatste actieve database, dus als je een andere database wilt, moet je gewoon mysql_select_db nog een keer aanroepen.

Edit: Kleine uitleg wat er mis ging: Die resource identifier is echt voor de verbinding, dus wat mysql_connect teruggeeft.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 
Zap

zap

07/11/2006 08:31:00
Quote Anchor link
Ok bedankt dit werkt denk ik wel :)
 
Joren de Wit

Joren de Wit

07/11/2006 09:55:00
Quote Anchor link
@Willem-Jan: in een query kun je wel de naam van een database meegeven.

Stel ik heb een database 'test' met daarin een tabel 'gegevens' waaruit ik alle informatie wil hebben:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT *
FROM test.gegevens


Maar hoezo werk je binnen 1 script met 3 verschillende databases? Zou het dan niet logischer zijn om meerdere tabellen binnen 1 database te hebben?
 
Zap

zap

07/11/2006 12:59:00
Quote Anchor link
ja, maar ik bezig om de laatste posts van een forum, blog, en nieuwe te laten zien. En die 3 dingen staan in verschillende databases..
 
Robert Deiman

Robert Deiman

07/11/2006 13:14:00
Quote Anchor link
zap schreef op 07.11.2006 12:59:
ja, maar ik bezig om de laatste posts van een forum, blog, en nieuwe te laten zien. En die 3 dingen staan in verschillende databases..


Maar het gaat wel om 1 en dezelfde site waar nieuws, blog en forum onderdeel van zijn?
Handiger is het dan echt wel om daar 1 database van te maken. (in principe kan je ook gewoon meerdere sites op 1 database draaien, er staan dan wat meer tabellen in)

Ik vind het niet handig om voor 1 site verschillende databases te gebruiken. Gebruik er gewoon 1'tje, daar kan alles gemakkelijk in, het is voor jezelf ook handiger ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.