MySQL-Funktion

Naj-Zero

Erfahrenes Mitglied
ich hab mal versucht die ganzen mysql-abfragen in ne funktion zu packen, aber irgendwie will das nich richtig...
mysql.inc.php:
PHP:
<?
function mysql_funktion($db, $select, $table, $where1, $where2, $orderby)
{
    $server = '127.0.0.1';
    $user = 'xxxx';
    $pw = 'xxxx';
    mysql_connect($server,$user,$pw) or die ("Connection to Server $server failed!");
    $sql_res = mysql_db_query("$db", "SELECT $select FROM $table WHERE $where1 = $where2 ORDER BY $orderby");
}
?>

alle daten die ich benutzt habe stimmen 100%!
 
hmm, weis hier keiner ne antwort?
oder als alternative: kennt ihr ne andere möglichkeit, die ganzen mysql-zugriffe zu verkürzen?
 
also du hast folgendes gemacht: Du hast ne Funktion geschrieben, die weder was auf dem bildschirm ausgibt noch eien wert zurückgibt. Sprich, deine funktion erstellt ne connection, führt den query aus und stirbt. Du musst dein resultat zurück geben damit du damit in dem hauptprogramm oder in einer anderen funktion rummachen kannst.

So in etwa:
PHP:
<?
function mysql_funktion($db, $select, $table, $where1, $where2, $orderby)
{
    $server = '127.0.0.1';
    $user = 'xxxx';
    $pw = 'xxxx';
    mysql_connect($server,$user,$pw) or die ("Connection to Server $server failed!");
    $sql_res = mysql_db_query("$db", "SELECT $select FROM $table WHERE $where1 = $where2 ORDER BY $orderby");
    return ($sql_res);
}
?>

Und so rufst du sie auf: $irngednevar = mysql_funktion (hier die ganzen parameter).

Jetzt hast du das resultat von der query ausführung in $irngednevar stehen und kannst damit weiter rummachen (mysql_fetch_array oder was auch immer)

So Long
TheVirus
 
danke, warum denn nicht gleich so? ;)
hab noch net so viel erfahrungen mit functions, aber langsam regt es mich auf immer das gleich so oft zu schreiben..
 
Dann sind ja funktionen der Schlüssel zu deinem Glück! ;-)

Also hier ein paar Tipps:
Die variablen, die du in deiner funktion benutzt sind nur in der Funktion gültig. Wenn du also im Hauptorgramm ne variable $var hast und in der Funktion nochmal die gleiche, dann ist das ne neue die solange existiert bis die funktio durchgelaufen ist. Es sei denn du benutzt globale variablen, diese müssen allerdings am anfang jeder Funktion mit global definiert werden.

Willst du die werte, die eine Funktion berechnet weiter benutzten musst du sie zurück geben mit return.

Wenn du direkt was ausgeben willst ist das auch möglich. Beispielsweise wenn du bestimmte html zeilen immer und immer wieder ausdrucken musst kannst du sie in einer funktion packen und mit echo ausgeben. Dann an der passenden stelle die funktion aufrufen und voila.

Versuch die funktionen recht abstrakt zu halten. Dadurch ersparst du dir ne Menge tipp arbeit. So hab ich z.b. eine seperate funktion zum datenbank verbindung herstellen. Für das ausführen eines querys hab ich keine Funktion, da meine querys sich stark unterscheiden wäre aber auch möglich wenn man genug abstrahiert.

Erstell dir am besten deine eigene Funktions library mit funktionen, die Projekt unabhängig funktioniere (je abstrakter desto allgemeingültiger und häufiger benutzbar).

So ich hoffe das hilft dir ein wenig weiter!

So Long
TheVirus
 

Neue Beiträge

Zurück