[php & mysql] Datenbank-Resultat zurückgeben, eigene Funktion

GoLLuM

Erfahrenes Mitglied
Hallo Leute!

Also mir geht es um folgendes:
Ich habe mir vor einiger Zeit ein paar Funktionen für Datenbank-Abfragen und -auswertungen geschrieben. Unter anderem gibt es auch eine Funktion namens "GetOneResult", die bis jetzt wie folgt aussieht:
PHP:
function GetOneResult($query, $field)
 	{
		$Res = mysql_query($query);
		$Row = mysql_fetch_assoc($Res);

		return $Row[$field];
 	}
Das ganze gibt mir dann ja nur EIN einzelnes Feld zurück; und das finde ich relativ hilfreich weil man dann nicht immer eine riesige Abfrage braucht um nur ein einzelnes Resultat zu erhalten.
Ein Aufruf des ganzen wäre dann in etwa sowas wie:
PHP:
$query = "SELECT text FROM guestbook WHERE id = 5";
$string = GetOneResult($query, "text");
Meine Frage dazu lautet jetzt: ist das die einfachste & schnellste Möglichkeit so etwas zu realisieren? Die Funktion wird bei mir doch recht oft verwendet, und da dachte ich mir, dass man vielleicht doch etwas daran optimieren könnte.

Vielen Dank euch schon mal :)
 
$GBText = mysql_result(mysql_query("SELECT text FROM guestbook WHERE id = 5"),0)

Gibt das gleiche aus. Mit mysql_result kannst du dir ein Resultat von mysql_query ausgeben lassen. Als 2ter Parameter kannst du dann einfach angeben, welcher Datensatz gewählt wird.

$GBText = mysql_result(mysql_query("SELECT text FROM guestbook ORDER BY id ASC"),4)

Dies gibt also den 5ten Beitrag aus (ist aber nicht der Beitrag mit der id 5 ;)).


Aber ich finde deine Methode auch in Ordnung
Nur was ist, wenn man ein Feld angibt, welches nicht existiert? ;)

;)
 
Hey redx.

An mysql_result() hatte ich auch schon gedacht. Aber ich weiß/wußte nicht, ob es da einen Geschwindigkeitsunterschied gibt etc. Hat irgendjemand dazu igendwelche Informationen?

Wenn nicht, dann ist es auch nicht schlimm, denn auf wirkliche Geschwindigkeitsunterschiede kommt es doch erst bei richtig professionellen Seite an. Ich dachte nur, ob andere Programmierer vielleicht noch andere Methoden haben, die ich bsi dato nicht kannte :)

Wenn es das Feld nicht gibt, dann bekommt man halt einen leeren String zurück, das ist nicht das Problem. Den String kann man ja dann überprüfen. Und außerdem sollte der Programmierer (in dem Fall ich) wissen, ob das Feld in der Datenbank-Tabelle existiert ;-)
 

Neue Beiträge

Zurück