SQL-Abfrage innerhalb einer Funktion mit Parameter funktioniert nicht

qsrs

Erfahrenes Mitglied
Hallo,

ich übergebe einer Funktion einen Parameter (nur einen Wert einer Variablen) um diesen in einer MySQL-Abfrage zu verwenden. Die Funktion ist in einer anderen PHP-Datei, wird aber mit include in das aktuelle, auszuführende Skript eingebunden.

Die Funktion sieht so aus:

PHP:
function test ($id) {
 $sql_f = "SELECT * FROM `tabelle` WHERE `id` = '$id'";
 $query_f = mysql_query ($sql_f);
 $array_f = mysql_fetch_array ($query_f);
 echo $array_f[name];
 }

Die Abfrage funktioniert nicht, ich erhalte einen Fehler. Wenn ich stattdessen in der Funktion nur echo $id schreibe, wird mir die Id ausgegeben, also bekomme ich einen Wert. Die SQL-Abfrage stimmt auch, ich weiß jedoch nicht, warum sie nicht funktioniert. Vielleicht kann mir jemand helfen. Vielen Dank bereits im Voraus.
 
Welchen Fehler erhältst du denn? Gibt dieser dir keinen Aufschluss über die Fehlerursache?
 
Das liegt daran das du den Key name in deinem Array falsch aufrufst.
PHP denkt name ist eine Konstante. Es gibt aber keine Konstante name.
Probier es mal so:
PHP:
function test ($id) {
 $sql_f = "SELECT * FROM `tabelle` WHERE `id` = '$id'";
 $query_f = mysql_query ($sql_f);
 $array_f = mysql_fetch_assoc ($query_f);
 echo $array_f['name'];
 }
 
Hallo,

habe es selbst herausgefunden. Da ich innerhalb einer Funktion arbeite, musste ich natürlich die Datenbankverbindung erst bekannt machen. Trotzdem vielen Dank für die Hilfe.
 
Zurück