Script Updaten Mysql R39-6

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
  • MysQL Update zu R39-6


    C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(6190) : error 017: undefined symbol "mysql_store_result"
    mysql_store_result(MySQLConnection); -> Zu Was Umändern Mysql R39-6


    C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(6191) : error 017: undefined symbol "mysql_num_rows"
    if(mysql_num_rows(MySQLConnection) != 0) -> Zu Was Umändern Mysql R39-6


    C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(6196) : error 017: undefined symbol "mysql_fetch_field_row"
    mysql_fetch_row_format(TextString); -> Zu Was Umändern Mysql R39-6



    Wie muss das ersetzt werden?


    Auf die Neuste Version kann ich nicht Updaten finde die Windows / Und Linux Plugins nicht (Sind zumindest nicht zum download)




    //E:
    Mysql Plugin R39-6 Code


  • Auf die Neuste Version kann ich nicht Updaten finde die Windows / Und Linux Plugins nicht (Sind zumindest nicht zum download)

    [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)


    Download (Kapitel 5):
    https://github.com/pBlueG/SA-MP-MySQL/releases



    Da du wohl noch irgendwas um R5-R7 nutzt, ist der Aufwand zum Umschreiben des Codes sehr groß, das hat sich nicht mit den paar Zeilen erledigt.


    mysql_store_result: Gibt es nicht mehr, es wird jetzt über mysql_pquery bzw. mysql_tquery und ein entsprechendes Callback gearbeitet, um den Cache auszulesen (siehe Tutorial).
    mysql_num_rows: Ist jetzt cache_get_row_count.
    mysql_fetch_row_format: Gibt es nicht mehr. Die Spalten werden jetzt separat aus dem Cache gelesen (siehe Tutorial).



    Der Aufwand von R5-R7 nach R39 ist nicht größer als direkt zu R41-4, daher gehe lieber direkt zur aktuellen Version.

  • if(mysql_num_rows() >= 1) von zu if(cache_get_row_count() >= 1) Habe ich soweit verstanden




    format(str, sizeof str, "SELECT * FROM `gangequip`");
    mysql_query(str);
    mysql_store_result();


    Wie wird sowas behandelt bei R41-4?



    Da ist ein Bespiel mit mysql_fetch_row_format:


    Inwiefern soll das umgewandelt werden?



    if(cache_get_row_count(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    mysql_fetch_field_row("GWActive", val); GangWarSystemInfo[i][GWActive] = strval( val );
    mysql_fetch_field_row("GWTeam1ID", val); GangWarSystemInfo[i][GWTeam1ID] = strval( val );
    mysql_fetch_field_row("GWTeam2ID", val); GangWarSystemInfo[i][GWTeam2ID] = strval( val );
    mysql_fetch_field_row("GWTeam1Points", val); GangWarSystemInfo[i][GWTeam1Points] = strval( val );
    mysql_fetch_field_row("GWTeam2Points", val); GangWarSystemInfo[i][GWTeam2Points] = strval( val );
    mysql_fetch_field_row("GWErsteller", val); GangWarSystemInfo[i][GWErsteller] = strval( val );
    mysql_fetch_field_row("GWGrund", val); strmid(GangWarSystemInfo[i][GWReason], val, 0, strlen(val), 255);
    }




  • format(string, sizeof(string), "INSERT INTO `biz` (`BizID`) VALUES (%d)", (i + 1));
    mysql_pquery(handle,string, "", "");



    C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(13143) : warning 213: tag mismatch


    Warum das den?


    @Jeffry @Kaliber

  • Kurze frage was ist daran Falsch ?!


    C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(13551) : warning 213: tag mismatch



    #if defined MySQL
    MySQLConnection = mysql_connect(MySQL_Host, MySQL_User, MySQL_DB, MySQL_Passwort);
    printf("SERVER: Versucht die Verbindung zur Datenbank aufzubauen");
    #endif



    new MySQLConnection;



    Muss das auch zu new MySQL:MySQLConnection; ??


    @Jeffry

  • Bin Dabei :D


    Wozu braucht man das?


    also das: mysql_store_result();

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • C:\Users\ASUS\Desktop\GTA - San Andreas Daten\Sachen\Reallife\gamemodes\Reallife.pwn(13417) : warning 213: tag mismatch



    if(cache_get_row_count(MySQLConnection) != 0)


    Warum das?



    Ist das so richtig?
    Falls ich das so richtig rausgelesen habe?



    Habe


    mysql_store_result();


    zu mysql_pquery(handle, str);




    //E:


    Finde für


    mysql_free_result & mysql_real_escape_string & mysql_insert_id
    Nichts im Tutorial entweder ich bin blind oder ich weiß es nicht.


    @Jeffry_


    Hänge da wirklich fest....

  • Du hast dich offensichtlich überhaupt nicht mit dem Tutorial beschäftigt, die Antworten auf alle deine Fragen finden sich im Tutorial.



    Warum das?

    So sieht es richtig aus:
    new row_count;
    cache_get_row_count(row_count);
    if(row_count != 0)


    Ist das so richtig?
    Falls ich das so richtig rausgelesen habe?

    Nein, das ist komplett falsch. Beschäftige dich mit dem Tutorial und arbeite es Schritt für Schritt durch, sonst wirst du die Technik nicht verstehen.
    Kapitel 5 und 6.



    Nichts im Tutorial entweder ich bin blind oder ich weiß es nicht.

    Es ist keine 1:1 Ersetzung. Es muss alle neu geschrieben werden.


    mysql_free_result: Gibt es nicht mehr, da aus Cache gelesen wird.
    mysql_real_escape_string: Wird mit %e in mysql_format gemacht.
    mysql_insert_id: Ist jetzt cache_insert_id


    http://wiki.sa-mp.com/wiki/MySQL/R40

  • Das hab ich schon raus gefunden und gefixxt.


    Das Funktioniert jetzt.


    Aber sonst komme ich nicht weiter.
    Weiß ich nicht bin mit mysql updaten wirklich nicht erfahren lese mir das Tutorial jetzt schon mehrmals durch und verstehe es nicht.


    Muss ich die ganzen Codes komplett neu schreiben?


    Oder wie sieht das aus?

  • Muss ich die ganzen Codes komplett neu schreiben?

    Ja, da die Technik komplett anders zu den alten R5-R7 Versionen ist.
    Das ist nicht mal eben in einer Stunde gemacht.


    Zu empfehlen ist es, sich selbst an Hand des Tutorials ein "selbstgeschriebenes" System zu erstellen, und nicht an einem vorhandenen Gamemode ein fertiges System, welches man nicht kennt, da man es nicht selbst geschrieben hat, umzuschreiben.



    Weiß ich nicht bin mit mysql updaten wirklich nicht erfahren lese mir das Tutorial jetzt schon mehrmals durch und verstehe es nicht.

    Was verstehst du denn am Tutorial nicht?


  • Das Verstehe ich nicht was daran falsch sein soll?
    Wie gesagt.

  • Eigentlich alles.
    Und genau das zeigt, dass du dich überhaupt nicht mit dem Tutorial beschäftigt hast. Ansonsten wäre immerhin ein Ansatz der Richtigkeit zu sehen.


    Wie gesagt, beschäftige dich zuerst mit dem Tutorial, eingehend, um die Technik zu verstehen. Im Tutorial ist alles erklärt.

  • Deshalb sollst du dich eingehend mit dem Tutorial beschäftigen.
    Du kannst mir nicht erzählen, dass du das innerhalb von 9 Minuten gemacht hast.


    Wenn du es nicht mal im Ansatz verstehst, dann ist die klare Empfehlung, den Code den du da hast, so zu lassen wie er ist, da du ihn, ohne es zu verstehen, nicht umgeschrieben bekommst. MySQL muss man verstehen, dass passiert auch nicht von heute auf morgen. Man muss sich damit beschäftigen und nicht nur irgendetwas hin kopieren.


    Wenn andernfalls in deinem Code zu sehen ist, dass du dich mit dem Tutorial beschäftigt hast, und die Richtung stimmt, dann macht es auch Sinn dir am Code weiter zu helfen. Aktuell macht das aber keinen Sinn, da du weder Energie rein steckst, noch Interesse daran zeigst, sondern nur auf "schnell schnell" eine Lösung willst.

  • Habe jetzt:




    Zu:



    Umgeschrieben. Ich hoffe das der Code jetzt etwas besser aussieht und mit den auch arbeiten kann.


    //E:


    Das habe ich Unter OnGameModeInit gepackt:


    mysql_function_query(handle, "SELECT * FROM `tankenbiz`", true, "LoadTankenBiz", "");



    //E:


    Habe jetzt auch mal eine Speicherung versucht weiß nur nicht ob das so richtig ist...

  • Umgeschrieben. Ich hoffe das der Code jetzt etwas besser aussieht und mit den auch arbeiten kann.

    Sieht schon besser aus, nur ist der Code nicht vom Tutorial und daher nicht für R41-4 geeignet.



    Das habe ich Unter OnGameModeInit gepackt:

    Selbiges hier. Das hast du nicht aus dem Tutorial.
    Die Funktion gibt es in R41-4 nicht mal.



    Wo hast du das her und warum nutzt du nicht die Codes aus dem Tutorial, die für R41-4 passend sind?