Variablen in mySQL Abfrage

Leider nein. Ich weiß doch das die Abfrage als solche völlig korrekt ist - da sie funktioniert - wenn ich keine Variablen verwende. Es liegt doch lediglich daran dem mySQL Server die richtige Syntax zu liefern. Aber ich sehe den Wald vor lauter Bäumen gerade nicht.

Wie ändere ich diese (funktionsfähige) Codezeile:

$result = mysql_query("SHOW COLUMNS FROM db471659069.termine1");

aber den Part "db471659069" als Variable $db_name
und den Part "termine1" als Variable $table_name

Also so ähnlich:
$result = mysql_query("SHOW COLUMNS FROM $db_name.$table_name");

^funktioniert aber so nicht weil irgendwo in die Zeile Hochkommata oder weiss der Geier was rein muss :(

Hüülfe... :confused:
 
Und noch mal meine Bitte, var_dump auf die zwei Variablen zu machen.
Direkt vor der Abfrage.

Und das Parsen mal nicht PHP überlassen (der Punkt...)
Code:
'SHOW COLUMNS FROM ' . $db_name . '.' . $table_name
 
'SHOW COLUMNS FROM ' . $db_name . '.' . $table_name
>> Parse error: syntax error, unexpected 'mysql_query' (T_STRING)

Ich habe schon var_dump ausgeben lassen - in den Variablen sind die richtigen Werte.

$table_name = termine1
$db_name = db471659069

Wenn ich diese Zeile nutze:

$result = mysql_query("SHOW COLUMNS FROM '$table_name' FROM '$db_name'");

bekomme ich diesen Fehler:

MySQL-Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''termine1' FROM 'db471659069'' at line 1

in dem man auch sehen kann das die Variablen richtig ankommen - nur der SQL Syntax ist noch falsch.
 
Parse error: syntax error, unexpected 'mysql_query' (T_STRING)
ist vermutlich ein Fehler vor der Abfrage, im PHP-Code

Das darunter ist keine var_dump-Ausgabe

Und FROM geht nicht einfach so zweimal
 
@sheel
Das doppelte FROM sollte laut
http://dev.mysql.com/doc/refman/5.0/en/show-columns.html
aber gehen...

You can use db_name.tbl_name as an alternative to the tbl_name FROM db_name syntax. In other words, these two statements are equivalent:

mysql> SHOW COLUMNS FROM mytable FROM mydb;
mysql> SHOW COLUMNS FROM mydb.mytable;

Aber vermutlich ist die Alternative versionsabhängig, das ist natürlich auch möglich.
 
Code:
$result = mysql_query("SHOW COLUMNS FROM db471659069.termine1");
funktioniert

Code:
$result = mysql_query("SHOW COLUMNS FROM $db_name.$table_name");
funktioniert nicht

mySQL Fehlermeldung:
MySQL-Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

In den Variablen sind die richtigen Werte. Weiß einer weiter?
 
Biste sicher das die Werte richtig sind? keine Leerzeichen oder so zuviel? Und keine nicht druckbaren Zeichen wie Zeilenumbrücke oÄ
 
Puhhh, danke alxy! ;)

Es war tatsächlich ein "unsichtbarer" Zeilenumbruch im String den ich jetzt mit substr() entfernt habe. Mir ist beim var_dump nicht aufgefallen das dort 12 Zeichen angezeigt werden obwohl "termine1" ja nur 8 Zeichen hat.

Code:
$result = mysql_query("SHOW COLUMNS FROM $db_name.$table_name");

Jetzt klappt es auch mit dem Nachbarn...ähh mit dem Code.

Vielen Dank an alle für die Hilfe! :)
 
@matmagic: Jetzt weißt, warum ich die var_dump-Ausgaben sehen wollte :rolleyes:
@Cappaja: Danke für den Link, wieder was gelernt
 
Zurück