[Frage] Mysql Query (Mehrere Variabln setzen aber nur ein Query benutzen)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Ihr,


    Ich habe mal eine Frage ist es möglich wie bei PHP mehrere Variablen zu setzen aber dafür nur ein Query zu benutzen


    Wen ja wie mache ich das am besten ?


    Ich weiß viel aber hier ist mein Latein am Ende ^^


    Ausschnitt aus dem PHP Code


    PHP
    $query = mysql_query("SELECT * FROM benutzer WHERE name= '$benutzer'");
    	$num = mysql_num_rows($query);
    	WHILE($row = mysql_fetch_assoc($query))
    			{
    				$dbbenutzer = $row['name'];
    				$dbadmin = $row['admin'];
                            }


    MFG [RMR]FloH

  • Setzen sollte kein Problem sein. Lesen hängt von dem MySQL Plugin das du verwendest ab.


    Sollte so Funktionieren:
    forward MySQLUpdate(Tabellenname[], Eintraege, Wertname[][], Wert[][], Bedingung[]);
    public MySQLUpdate(Tabellenname[], Eintraege, Wertname[][], Wert[][], Bedingung[])
    {
    new QueryString[1024];
    format(QueryString, 1024, "UPDATE %s SET ",TabellenName);
    for(new i = 0; i< Eintraege , i++)
    {
    format(QueryString, 1024, "%s, %s=%s",QueryString,Wertname[i],Wert[i]);
    }
    format(QueryString, 1024, "%s WHERE %s",QueryString,Bedingung);
    mysql_query(QueryString);
    mysql_store_result();
    mysql_free_result();
    }
    Tabellenname = In welcher Tabelle die Änderungen gemacht werden sollen.
    Eintraege = Wie viele Werte übergeben werden
    Wertname[][] = Die Namen der Werte die geändert werden sollen (Erste Dimension ist der Index (0 bis Eintraege - 1), die Zweite damit es ein String ist)
    Werte[][] = Die Werte die Geschrieben werden sollen (Erste Dimension ist der Index (0 bis Eintraege - 1), die Zweite damit es ein String ist)
    Bedingung[] = Die Bedingung nach dem WHERE


    Ich hoffe ich konnte helfen.


    MFG Georg

  • Du meinst wohl eher mehrere Variablen auslesen, zumindest liest dein PHP Script aus und setzt keine Variablen. Egal was du meinst es ist beides prinzipiell möglich. Das Setzen ist dabei natürlich einfach als das auslesen. Hier mal am Beispiel von BlueG Mysql Plugin (R6). Wenn du R7 benutzen willst (threaded queries), dann geht das noch ein wenig anders, aber da gibts schon ein Tutorial dazu (http://forum.sa-mp.com/showthread.php?t=337810). Bei R6 sieht das noch so aus:


    Setzen:
    new
    string[90];
    format(string, sizeof(string), "UPDATE tabelle SET var1 = '%d', var2 = '%d', var3 = '%f'", var1, var2, var3);
    mysql_query(string);


    Auslesen mehrerer Variablen aus MySql mit sscanf
    new
    data[150];
    mysql_query("SELECT integer, string, float FROM tabelle");
    mysql_store_result();
    mysql_fetch_row_format(data,"|");
    sscanf(data, "p<|>dsf", integerVar, stringVar, floatVar);