wahrscheinlich ein ziemlich simpler Fehler bei einer Abfrage

Scope

Erfahrenes Mitglied
PHP:
function getName($nameid)
{

	$getName_abfrage = "select name from b_user where id = '$nameid'";

	$getName_ergebnis = mysql_query($getName_abfrage, $connID);

	$getName = mysql_fetch_object($getName_ergebnis);
	return $getName->name;
};

Diese Funktion soll Anhand einer ID aus der Benutzertabelle den Namen des Benutzers zurückliefern. Allerdings ruft das bei mir immer einen Fehler auf.
Also, wenn man die Abfrage in phpmyAdmin ausführt, dann klappts, daher habe ich keine Ahnung woran es liegen könnte.
Kann man in Funktionen einfach so Abfragen machen?..

scope.
 
OOP ist zwar besser, aber hier funzt es vielleicht besser mit dem array, und ich würde den query mit "."-syntax machen:

PHP:
function getName($nameid)
{
$getName_abfrage = "select name from b_user where id = '".$nameid."'";
$getName_ergebnis = mysql_query($getName_abfrage, $connID);
$getName = mysql_fetch_array($getName_ergebnis);
return $getName[name];
};

vielleicht liegts aber auch an der $connID, dass du die mit in die funktion übergeben musst...
 
still the same ******* error.

Warning: Supplied argument is not a valid MySQL-Link resource in /www/htdocs/v026733/forum.php on line 46

Warning: Supplied argument is not a valid MySQL result resource in /www/htdocs/v026733/forum.php on line 47

$connID ist die Verbindung:
PHP:
$connID = mysql_connect ("", "", ""); 
mysql_select_db ("", $connID);

Dieser Verbindungsaufbau steht vor der Funktion und vor der Stelle, von der sie aufgerufen wird.

scope.
 
Wie brÅinstorm richtig erkannt hat liegt der Fehler daran, dass $connID innerhalb der Funktion nicht definiert ist.

Lösung 1: global $connID; in die erste Zeile des Funktionenblocks eintragen.

Lösung 2: $getName_ergebnis = mysql_query($getName_abfrage); benutzen, also ohne die Angabe von $connID - dann wird die zuletzte aktive MySQL-Verbindung verwendet.
 
Zurück