mysql_tquery oder pquery ohne Callback 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
  • Hey liebe Community,
    ist es möglich mysql_tquery zu benutzen ohne das man gleich einen Callback erstellen muss?


    Hier mal mein Stock:


    stock SpielerUpdaten(playerid)
    {
    new query[128];
    mysql_format(dbhandle,query,sizeof(query),"UPDATE `Accounts` SET `Level` = '%d', `Admin` = '%d', `Geld` = '%d', `Filliale` = '%d', `Bank` = '%d', `Leader` = '%d', `Member` = '%d', `Job` = '%d', `Bankkarte` = '%d' WHERE `Name` = %e",GetPlayerScore(playerid),pDaten[playerid][Admin],GetPlayerMoney(playerid),pDaten[playerid][Filliale],pDaten[playerid][Bank],pDaten[playerid][Leader],pDaten[playerid][Member],pDaten[playerid][Job],pDaten[playerid][Bankkarte]);
    return 1;
    }


    Dort fehlt aber noch das der Query abgesendet wird mit tquery. Aber man muss ja immer ein Callback erstellen. Wie mach ich das ohne?

  • Aber man muss ja immer ein Callback erstellen. Wie mach ich das ohne?


    Wenn du keine Werte zurück haben willst, von der DB, kannst du die Felder leer lassen.


    Ansonsten musst du einen Callback aufrufen oder musst mit mysql_query arbeiten.


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()


  • Ich hoffe du erkennst selbst die Paradoxität deiner Aussage. :rolleyes:


    Wenn du mit Threaded Querys arbeiten willst, brauchst du einen Callback, ansonsten musst du mysql_query verwenden ;)


    mfg. :thumbup:

    Was für ein Quark, das Callback + die Parameter sind optionale Angaben und müssen nicht mit angegeben werden bzw. können leer ("") gelassen werden. Bei mysql_query() wartet der Server auf die Antwort von dem SQL Server, was bei diesem Query völlig unnötig wäre.


    #Anhang (edit):
    Es ist selten empfehlenswert als Suchkriterium bei einem Query einen string zu verwenden. Ich empfehle dir mit der unique ID (primary Key) des Datensatzes zu arbeiten. Falls du dich weigern solltest, empfehle ich dir wenigstens ein Limit von 1 beim Query zu setzen, da er trotz erfolgreichem Finden deines Datensatzes weitersucht. Kritisches Beispiel: Du hast 100.000 Accounts und der Ziel-Datensatz ist der dritte Account. Da der SQL Server aber nicht weiß, dass es nur einen Account mit diesem Namen gibt, sucht er die weiteren 999.997 Datensätze weiter ab -> unnötige Arbeit.

    Einmal editiert, zuletzt von Douq ()

  • Ich hab mich verlesen... :|


    Ja, wenn du keinen Wert zurückhaben willst von der DB, dann kannst du die Parameter auch leer lassen...und somit wird kein Callback aufgerufen...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Geht nur unter folgenden Bedingungen:


    Danke für eure Hilfe :)


    Würde ich jetzt nicht so stehen lassen :D INSERT , DELETE und UPDATE- Queries haben alle eins gemeinsam das dukeinen Rückgabewert von dieses ausgeführten queries brauchst.
    CREATE TABLE und weitere SQL-Befehle kannst du ebenfalls nutzen. Daher wird ein Callback nur gebraucht, wenn du die Rückgabewerte benötigst (bezieht sich jetzt generel auf das Auslesen).