2 database's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jelle -

Jelle -

08/07/2006 13:04:00
Quote Anchor link
Korte uitleg
Ik heb 2 site's met dus 2 database's

Wat wil ik
Ik wil op 1 site de statistieken van de andere site laten zien.

Dus me vraag
Hoe kan ik 2 database connecties maken en dan dus kiezen welke query ik uit welke database haal.
 
PHP hulp

PHP hulp

17/11/2024 14:41:26
 
Bo az

Bo az

08/07/2006 13:06:00
Quote Anchor link
Aller eerst dan de vraag, zijn de databases wel extern benaderbaar, of zijn de sites op de zelfde server gehost?

Meestal zijn databases namelijk niet extern benaderbaar, dit uit veiligheids overwegingen.
 
Jelle -

Jelle -

08/07/2006 13:08:00
Quote Anchor link
De site's zijn op dezelfde server gehost. De databases dus ook :-)
Gewijzigd op 01/01/1970 01:00:00 door Jelle -
 
Jan Koehoorn

Jan Koehoorn

08/07/2006 13:09:00
Quote Anchor link
Of laat een pagina van de ene site in een frame zien op de andere.
 
Jan Koehoorn

Jan Koehoorn

08/07/2006 13:11:00
Quote Anchor link
Als je connect met een database in je script krijg je een MySQL link identifier terug. Als je een query uitvoert kun je die link identifier weer als argument meegeven waardoor hij de goede db pakt.
 
Bo az

Bo az

08/07/2006 13:14:00
Quote Anchor link
Het makkelijkste dan is het om met een database class te werken die de verbinden voor je gescheiden houd.

Ik ga er even van uit dat je die niet gebruikt:
dan kan je bij je kan 2 verbinden maken, deze sla je op in een variable. (verschillende uiteraard)

dan kan je als 2e optionele parameter bij
mysql_select_db()
en
mysql_query()
kiezen welke verbinding je gebruikt.

Edit:
Jan was me voor, ik type te langzaam :P
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Eric Cartman

Eric Cartman

08/07/2006 15:06:00
Quote Anchor link
Of met mysql_db_query :c)
 
Jelle -

Jelle -

09/07/2006 09:56:00
Quote Anchor link
Ik ga kijken of het lukt :-)
bedankt allemaal
 
Jelle -

Jelle -

10/07/2006 20:23:00
Quote Anchor link
Ik doe iets verkeerd, het lukt niet.
ik heb dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

/* tabel info

site1.leden:
id
nick
pw

1, Moozzie, test

site2.admin
id
login
pw

1, admin, admin

*/


session_start();
ob_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);

// Connectie met database site1
$database_1 = mysql_connect("localhost", "root", "") or die ( mysql_error());
mysql_select_db("site1", $database_1) or die (mysql_error());

// Connectie met database site2
$database_2 = mysql_connect("localhost", "root", "") or die ( mysql_error());
mysql_select_db("site2", $database_2) or die (mysql_error());

// Kijken of ik alle leden krijg
$q1 = mysql_query("SELECT nick FROM leden", $database_1 ) or die(mysql_error());
while($a1 = mysql_fetch_assoc($q1))
{

  echo $a1['nick']."<br />";
}

// Output moet zijn: Moozzie

// Kijken of ik alle admins krijg

$q2 = mysql_query("SELECT login FROM admin", $database_2 ) or die(mysql_error());
while($a2 = mysql_fetch_assoc($q1))
{

  echo $a2['login']."<br />";
}

// Output moet zijn: admin


/* Totale output moet zijn:
Moozzie
admin
*/


?>

dit krijg ik als fout
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Table 'site2.leden' doesn't exist
 
Hipska BE

Hipska BE

10/07/2006 20:28:00
Quote Anchor link
dit komt omdat je hem zoekt in de eerste site database
 
Jelle -

Jelle -

10/07/2006 20:32:00
Quote Anchor link
jah hij staat ook in site1 en ik zoek ook in site1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$q1
= mysql_query("SELECT nick
  FROM leden"
,
  $database_1 ) or die(mysql_error());
?>

maar hij zegt dus dat ik in site2 zoek :S
 
Jelle -

Jelle -

10/07/2006 22:53:00
Quote Anchor link
Wat doe ik verkeerd?
 
Robert Deiman

Robert Deiman

10/07/2006 23:11:00
Quote Anchor link
In plaats van mysql_query:

mysql_db_query ($database1, "SELECT nick
FROM leden");

Werkt dat wel?
 
Jelle -

Jelle -

10/07/2006 23:23:00
Quote Anchor link
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\host\xampp\htdocs\test\mysqltest\index.php on line 51

Mmm.
Quote:
Het makkelijkste dan is het om met een database class te werken die de verbinden voor je gescheiden houd.

Hoe moet het op deze manier? kan iemand me opweg helpen?
 
Robert Deiman

Robert Deiman

10/07/2006 23:26:00
Quote Anchor link
$q2 = mysql_query("SELECT login FROM admin", $database_2 ) or die(mysql_error());
while($a2 = mysql_fetch_assoc($q1))

Die while klopt niet he ;) je maakt eerst $q2 en daarna doe je fetch assoc($q1) moet zeker $q2 zijn :)
 
Jelle -

Jelle -

10/07/2006 23:31:00
Quote Anchor link
Ahjah snelheidsfout, maar ik blijf dezelfde error krijgen want die was al gegeven in de query (en de assoc komt later, btw heb um wel getest hoor ;-))

Maar als die class manier makkelijker is kan iemand me daarmee opweghelpen?
 
Robert Deiman

Robert Deiman

10/07/2006 23:34:00
Quote Anchor link
Ik zie nog wat, die class methode ken ik niet, dus daar kan ik je helaas niet mee helpen.. In je $database_2 heb je niet je select database staan, maar alleen het maken van je verbinding.

$database_2 = mysql_connect("localhost", "root", "") or die ( mysql_error());
mysql_select_db("site2", $database_2) or die (mysql_error());

Dus wanneer je de query gaat doen met $database_2, maak je alleen de gewone connectie aan, en selecteer je geen db!
 
Jelle -

Jelle -

10/07/2006 23:51:00
Quote Anchor link
ohjah, maar dan moet ik dus elke keer van database wissellen?

Ik snap er weinig meer van :S
Gewijzigd op 01/01/1970 01:00:00 door Jelle -
 
Robert Deiman

Robert Deiman

10/07/2006 23:52:00
Quote Anchor link
Klopt, het is wat gewissel, maar het werkt wel.. :)
 
Willem Jan Z

Willem Jan Z

10/07/2006 23:56:00
Quote Anchor link
Als ik me niet vergis, moet je bij je query de database link identifier toevoegen.

Dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$conn1
= mysql_connect('host1','user','pass');
$db1 = mysql_select_db('database1',$conn1);

$conn2 = mysql_connect('host2','user','pass');
$db2 = mysql_select_db('database2',$conn1);

$res = mysql_query("",$db1);// Query in database 1
$res2 = mysql_query("",$db2);// Query in database 2
?>
 
Jelle -

Jelle -

10/07/2006 23:57:00
Quote Anchor link
oke maar het lijkt me niet de snelste en beste oplossing. maar het kan dus wel.

Alsnog de vraag hoe je uit 2 databases gegevens kan ophalen met classes.

Jammer dat je me niet kan helpen maar misschien krijgen we morge een antwoord :-)
 

Pagina: 1 2 volgende »



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.