FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

PHP Integration einer glob. Variablen

PHP Integration einer glob. Variablen 2006-02-15 17:46
Anonymer User
Guten Abend erstmal

Ich suche Lösung für ein Problem in PHP:
In einem Aufruf eines MySQL-Tables soll der Name des Tables durch den Namen und ein Prefix ersetzt werden.

Dazu wurde in einer config-Datei die Variable
$cfg["db_prefix"] = "db_";definiert.

In der eigentlichen PHP-Datei lautet der Aufruf folgendermaßen:

$sql = "SELECT xxx FROM log WHERE xxx ORDER BY time desc";
Jetzt meine Frage:
Gibt es eine Möglichkeit in dem zweiten Codeteil zwischen FROM und WHERE den Prefix einzubauen, damit in der Datenbank der Table "db_log" aufgerufen wird?

Ich weiß an dieser Stelle nicht weiter, es scheitert daran das ich $cfg["db_prefix"] nicht mit "log" zusammen gezogen kriege.

Wäre dankbar für Hilfe ;-)

MfG

Re: PHP Integration einer glob. Variablen 2006-02-15 17:52
Popcorn
Ich habe mit PHP nichts am Hut, aber wenn es auch nur halbwegs wie in anderen imperativen Sprachen ist, müsste doch ein:

$sql = "SELECT xxx FROM ".$cfg['db_prefix']."log WHERE xxx ORDER BY time desc";

funktionieren?

Re: PHP Integration einer glob. Variablen 2006-02-15 20:04
Pocmo
jep, das sollte funktionieren so.

Falls nicht klar, die config-Datei muss per include z.b. eingefügt sein in der entsprechenden Datei, innerhalb der die Variablen aus der Config-Datei benutzt werden müssen. Also z.b. include("config.php");

Gruß,
Pocmo

Re: PHP Integration einer glob. Variablen 2006-02-16 14:35
Anonymer User
Erstmal Danke an dieser Stelle :-)

Was passiert wenn ich das bei
$sTable = 'db_log';
verwende?

Das würde ja dann folgendermaßen aussehen:
$sTable = '".$cfg['db_prefix']."log';Wenn ich grade nicht ganz auf dem Schlauch stehe dürfte das zu einem unexpected T_STRING führen?!

MfG

Re: PHP Integration einer glob. Variablen 2006-02-16 15:17
Zidane
Das würde ja dann folgendermaßen aussehen:
$sTable = '".$cfg['db_prefix']."log';

Das würde garantiert zu einem Fehler führen…
Versuchs mal so :
$sTable = $cfg['db_prefix'].'log';

Re: PHP Integration einer glob. Variablen 2006-02-16 17:45
BoTaS
um sich klar zu machen was man da so in Anfürhrungszeichen setzt:
http://tut.php-q.net/strings.html

Re: PHP Integration einer glob. Variablen 2006-02-18 21:04
Anonymer User
Wo wir schon so schön dabei sind hoffe ich noch eine Frage stellen zu dürfen …

$sql = 'select * from db_users where uid = '.$uid;
Ich habe mir das Tutorial von BoTaS mal angeschaut, aber finde da keine Lösung.

Wäre es über ein Array möglich die glob. Variable für den Datenbank-Prefix zu integrieren?

Re: PHP Integration einer glob. Variablen 2006-02-18 22:27
Zidane
Meinst du das so ?
$sql = 'select * from '.$cfg['db_prefix'].'users where uid = '.$uid;

Re: PHP Integration einer glob. Variablen 2006-02-19 11:51
BoTaS
$sql = 'select * from '.$cfg['db_prefix'].'users where uid = '.$uid;
Das ist zwar so richtig, hört sich aber so an als ob $uid z.B. durch einen geeigneten URL-Aufruf vom Benutzer gesetzt werden könnte. Falls das der Fall ist gehört da ein mysql_real_escape_string drum.
Also:
$sql = 'select * from '.$cfg['db_prefix'].'users where uid = '.mysql_real_escape_string($uid);falls etwas in der Art nicht schon vorher gemacht wurde um die Eingaben zu kontrollieren…

Re: PHP Integration einer glob. Variablen 2006-02-20 20:57
Anonymer User
Ich wollte allen Leuten danken die mir hier so geholfen haben.

Danke Jungs (und Mädels :-D )