PHP / Mysql: table_prefix in mysql_query()
Fabienne.22
- php
0 ChrisB0 Tom
Hallo und guten Abend,
ich habe ein größeres Projekt, bei dem ich nun 2 Systeme in einer Datenbank laufen lassen will. Unglücklicherweise habe ich das Projekt damals ohne Tabellen-Prefix gestartet. Jetzt nachträgliche alle Scripts mit Prefix auszustatten, wäre sehr viel Aufwand.
Meine Idee:
die Funktion mysql_query() überschreiben und in der neuen Funktion den Prefix mit reinbasteln.
Ja, Funktionen überschreiben geht leider nicht. Aber ich könnte dann wenigstens per Suchen/Ersetzen in allen Dateien die mysql_query() gegen myown_mysql_query() ersetzen.
Idee:
function myown_mysql_query($query,$db_connerctor)
{
$prefix="db2_";
$search[]="SELECT * FROM ";
$search[]="INSERT INTO ";
$search[]="UPDATE ";
$replace[]="SELECT * FROM ".$prefix;
$replace[]="INSERT INTO ".$prefix;
$replace[]="UPDATE ".$prefix;
$query=str_replace($search,$replace,$query);
return mysql_query($query,$db_connerctor);
}
Frage 1:
Könnte das in der Art funktionieren?
Frage 2:
Wie könnte ich immen an den Tabellennamen rankommen, da ich ja nicht wirklich weiß, wie alle Querys aussehen.
Frage 3:
Gäbe es eine Mysql-Funktion, über die man kurzerhand einen table_prefix mit übergeben könnte?
Oh weija.... je mehr ich drüber nachdenke, muss ich wohl doch alle Scripts anfassen......
Beste Grüße
Fabienne.22
Hi,
Frage 1:
Könnte das in der Art funktionieren?
Möglicherweise - ebenso, wie ein Auto auch mit dreieckigen Rädern „funktionieren“ könnte.
Oh weija.... je mehr ich drüber nachdenke, muss ich wohl doch alle Scripts anfassen......
Das wird das beste sein.
Alles andere wird extrem fehleranfälliger Bastel-Murks werden.
MfG ChrisB
Das wird das beste sein.
Alles andere wird extrem fehleranfälliger Bastel-Murks werden.
Mst. Hab ich mir schon Gedacht..... Na dann geh ich mal ans Werk
$table_prefix="Beste ";
echo $table_prefix." Grüße";
Fabienne.22
Hello,
ich habe ein größeres Projekt, bei dem ich nun 2 Systeme in einer Datenbank laufen lassen will.
Welchen Grund mag das wohl haben, dass Du zwei Dinge, die nichts miteinander zu tun haben, in einer Datenbank laufen lassen willst? Wieso keine zweite Datenbank anlegen?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Welchen Grund mag das wohl haben, dass Du zwei Dinge, die nichts miteinander zu tun haben, in einer Datenbank laufen lassen willst? Wieso keine zweite Datenbank anlegen?
Hallo in den Oberharz
ganz einfach: mein Kunde hat nur eine DB und will nicht upgraden, obwohl ich ihm das schon mehrfach ans Herz gelegt habe....
Beste Grüße
Fabienne.22
Hello,
Welchen Grund mag das wohl haben, dass Du zwei Dinge, die nichts miteinander zu tun haben, in einer Datenbank laufen lassen willst? Wieso keine zweite Datenbank anlegen?
Hallo in den Oberharz
ganz einfach: mein Kunde hat nur eine DB und will nicht upgraden, obwohl ich ihm das schon mehrfach ans Herz gelegt habe....
Aha, für die Ersparnis von vielleicht 5 Euro im Monat bereitet er Dir jetzt Mehrarbeit im Wert von 500 Euro? Wie rechnet sich das?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo
ganz einfach: mein Kunde hat nur eine DB und will nicht upgraden, obwohl ich ihm das schon mehrfach ans Herz gelegt habe....
Aha, für die Ersparnis von vielleicht 5 Euro im Monat bereitet er Dir jetzt Mehrarbeit im Wert von 500 Euro? Wie rechnet sich das?
Wo ist das Probelm? Nach gerade einmal 8 Jahren und 4 Monaten hat sich das amortisiert. Geht doch, nicht wahr?
Tschö, Auge