Tabellenpräfix?

was bedeutet Tabellenpräfix ?

Dass Tabellennamen mit einem Präfix versehen werden, um innerhalb einer Datenbank eine halbwegs nachvollziehbare logische Zuordnung von Tabellen zu verschiedenen Scripten zu haben.

und wie geht das ?:smiley:

Mit simpler Stringverkettung …?

Innerhalb eines Scriptes kannst du dir das Tabellen-Präfix bspw. in einer Konstanten ablegen - und in jeder Abfrage, die dein Script generiert, setzt du diese einfach vor den Tabellennamen in die Query ein.

ok ich habe jetzt alles verstanden :smiley:

Nicht :smiley:

Ich bin neu hier also

Also was …?

Beschäftige dich mit den Grundlagen, wenn du nicht selbst darauf kommst, wie sowas an sich sehr simples umzusetzen ist.

Hi,

Wofür brauchst du denn ein Präfix? Fragt eine Software danach?

de.wikipedia.org/wiki/Präfix

Normal: tabelle
Mit Präfix: irgendwas_tabelle

Um nur ein Beispiel zu nennen.

prä von lateinisch präus. spaß beiseite, “prä” bedeutet so viel wie “davor”. man hat also eine gewisse sortierung, wenn man vor gewisse tabellen etwas davor stellt, gewöhnlich mit einem "" abgegrenzt, um es wie mit ordnern zu "sortieren"
useradressen
[b]user
[/b]emails
[b]user
[/b]daten
statistik_useragents
statistik_ipadressen

Und „fix“ bedeutet etwa feststehend oder unveränderlich, so kommt man dann auf die Bedeutung „fest davor(-stehend)“, um den Gedanken von emil zu vervollständigen. :p

ja meine Software fragt da nach deswegen

Hi,

dan trägst du da einfach irgendetwas ein, wenn nicht gar was bereits drinstand… Bei nem Forum schreib ich gerne “board” oder “bb” rein - bei nem CMS eben “cms”

Es dient ganz einfach nur der Zuordnung innerhalb der datenbank wenn mehrere Instanzen derselben Software, oder verschiedene Software mit gleichen Tabellennamen in einer einzigen Datenbak verwendet werden soll.

Das Thema ist ja nicht sooo alt. :slight_smile:

Ich habe 2 CMS-Systeme beides das e107 mit einer einzigen Datenbank am laufen.
Das geht, wenn bei der Installation für jedes CMS-System ein anderer Tabellenpräfix gesetzt wird, funktioniert auch alles ohne Probleme.

CMS-System 1 hat den Tabellenpräfix “e107_” und CMS-System 2 hat den Tabellenpräfix “e108_” wie bereits geschrieben, beide CMS-Systeme in einer Datenbank.
Die Configurationsdatei des CMS-Systeme 1 in der die Datenbank mit den Zugangsdaten und den zugehörigen Tabellenpräfix sieht so aus. e107_config.php

$mySQLserver = ‘localhost’;
$mySQLuser = ‘root’;
$mySQLpassword = ‘tester’;
$mySQLdefaultdb = ‘e107_SVN’;
$mySQLprefix = ‘e107_’;

Die Configurationsdatei des CMS-Systeme 2 in der die Datenbank mit den Zugangsdaten und den zugehörigen Tabellenpräfix sieht so aus. e107_config.php

$mySQLserver = ‘localhost’;
$mySQLuser = ‘root’;
$mySQLpassword = ‘tester’;
$mySQLdefaultdb = ‘e107_SVN’;
$mySQLprefix = ‘e108_’;

Mein bestreben ist es, das beide CMS-Systeme auf ein und die selbe Usertabellen zugreifen sollen.
Ich habe also in der Datenbank die eine Usertabelle “e108_user” für das CMS-System 2 gelöscht und für das CMS-System 1 diese in “e107_user_all” umbenannt.
Wie kann ich das in den beiden e107_config.php so eintragen, das 2 verschiedene Tabellenpräfixe gültig sind?

Es geht also um diese Zeile “$mySQLprefix = ‘e107_’;” dort müsste eventuell auch der 2. Tabellenpräfix hinein.

So klappt es leider nicht: $mySQLprefix = 'e107_ , e107_user_all ';
So leider auch nicht: $mySQLprefix = 'e107_ : e107_user_all ';

Auch das habe ich versucht, beides untereinander:

In der 1. e107_config.php
$mySQLprefix = ‘e107_’;
$mySQLprefix = ‘e107_user_all’;

in der 2. e107_config.php
$mySQLprefix = ‘e108_’;
$mySQLprefix = ‘e107_user_all’;

Hat jemand eine Idee? Ich möchte eigentlich nur erreichen, das die User auf beiden Internetseiten registriert sind.
Eventuell über ein kleines Script innerhalb der e107_config.php?

Klar klappt das nicht :wink: Du kannst ja einer Variable nicht zwei Werte gleichzeitig zuweisen. PHP weiß ja nicht welche du genau ansprichst :wink:

Das einzige was du machen könntest wäre den Verbindungsaufbau zu den Usern manuell in eine andere Variable zu zwängen und dort herzustellen - überall wo das halt nötig ist.

Oder du mirrorst die Tabelle einfach :wink:

Was ist das? und wie müsste ich das anstellen?
Verbindungsaufbau zu den Usern manuell herstellen, ist zu aufwendig, da ein CMS-System zu Komplex ist.

Aber das Stichwort von dir "Du kannst ja einer Variable nicht zwei Werte gleichzeitig zuweisen"
das klinght schon mal nicht schlecht, denn einer Variablen mehrere Werte zuweisen geht schon, hab leider nur vergessen wie.

Du spiegelst schlichtweg einfach die Tabelle - entweder direkt oder alle X Stunden, Tage, Wochen. Bspw. über ein kleines Hilfsscript.

[quote]Aber das Stichwort von dir "Du kannst ja einer Variable nicht zwei Werte gleichzeitig zuweisen"
das klinght schon mal nicht schlecht, denn einer Variablen mehrere Werte zuweisen geht schon, hab leider nur vergessen wie.[/quote]
Nein, du kannst hüchstens verschiedene Werte verketten, aber niemals einer Variable mehrere Werte zuweisen, sodass es von selbst in der Lage wäre denjenigen, den es benötigt, abzufragen…