Logo Designer
Berichten: 1366
avatar
Offline Stuur privebericht
Heb twee databases, omdat ik een nederlandse en engelse site heb met zelfde functies.
Maar apparte database voor engelsen en nederlanders.

Maar dan moet ik 2 databases gaan cronjobben op een bepaalde moment.

Maar ik kan nu enkel 1 database doen.

Heb 1 config bestand met db gegevens voor dat dat is deze:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
<?php

$host 
"localhost";
$userdb "user_db";
$passdb "******";
$database1 "user_db1";

mysql_connect($host$userdb$passdb) or die(mysql_error());
mysql_select_db($database1) or die(mysql_error());

?>


Hoe kan je 2 databases in een php script zetten, zodat de cronjob 2 databases bijwerkt?
03-01-2012 00:54
Dit topic is 236 keer bekeken door 44 verschillende leden
Reacties op: "CronJob"
1
world-of-maffia.nl
Berichten: 744
avatar
Offline Stuur privébericht
Misschien zo:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
if($land['nl'])
    {
        require(
"includes/database-nl.php");
    }
    else
    {
    if(
$land['en'])
    {
        require(
"includes/database-en.php");    
    }
}
03-01-2012 01:36
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
$link1 mysql_connect(...);
$link2 mysql_connect(...);

mysql_query("queryA"$link1);
mysql_query("queryA"$link2);
03-01-2012 07:16
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
Er is één belangerijke vraag.

Twee verschillende databases EN twee verschillende gebruikers? Of één gebruiker en twee databases?
03-01-2012 12:51
Logo Designer
Berichten: 1366
avatar
Offline Stuur privébericht
Twee totale verschillende databases.
@BrokenTrack
03-01-2012 18:24
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
$connection_database1 mysql_connect($host$userdb$passdb) or die(mysql_error());
mysql_select_db($database1,$connection_database1) or die(mysql_error()); 
mysql_query();
$connection_database2 mysql_connect($host$userdb$passdb) or die(mysql_error());
mysql_select_db($database2,$connection_database2) or die(mysql_error()); 
mysql_query();
03-01-2012 21:16
Berichten: 2123
avatar
Offline Stuur privébericht
Ik zou het een beetje onderhoudbaar houden:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$connectionEnglish 
mysql_connect(...);
mysql_select_db(.., $connectionEnglish);
executeJob($connectionEnglish);

$connectionDutch mysql_connect(...);
mysql_select_db(.., $connectionDutch);
executeJob($connectionDutch);

function 
executeJob($connection) {
   
mysql_query(.., $connection);
   
mysql_query(.., $connection);
}

?>


Zo blijft de code een beetje schaalbaar. Overigens zou een object georienteerde database verbinding als PDO hier ook niet misstaan...
03-01-2012 21:28
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
$connection_database1 mysql_connect($host$userdb$passdb) or die(mysql_error());
$connection_database2 mysql_connect($host$userdb$passdb) or die(mysql_error());

mysql_select_db($database1$connection_database1) or die(mysql_error()); 
mysql_select_db($database2$connection_database2) or die(mysql_error());

mysql_query($sql$connection_database1); 
mysql_query($sql$connection_database2);


Dat is al ietsjes netter. Betere error handling is aan te raden, maar het gaat om het idee.

Standaard wordt de laatst geopende connectie gebruikt.
03-01-2012 21:29
Reageer op: "CronJob"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden