MySQL [r38] Tabellen erstellen vom Script

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
  • Eigentlich ist das im R38 nicht anders, da du ja nichts auslesen lässt, sondern nur schreibst.
    Du kannst ganz normal mysql_query nutzen, oder du nimmst die etwas bessere Variante mit mysql_tquery: http://wiki.sa-mp.com/wiki/MySQL/R33#mysql_tquery
    Der Rest (also das query selbst) bleibt identisch. Ein Callback musst du gar keins angeben (einfach "" setzen).


    Falls es nicht klappt, oder du nicht weißt wie poste am besten mal den Code den du von deiner R5 Version hast, welcher funktioniert.

  • Eigentlich ist das im R38 nicht anders, da du ja nichts auslesen lässt, sondern nur schreibst.
    Du kannst ganz normal mysql_query nutzen, oder du nimmst die etwas bessere Variante mit mysql_tquery: http://wiki.sa-mp.com/wiki/MySQL/R33#mysql_tquery
    Der Rest (also das query selbst) bleibt identisch. Ein Callback musst du gar keins angeben (einfach "" setzen).


    Falls es nicht klappt, oder du nicht weißt wie poste am besten mal den Code den du von deiner R5 Version hast, welcher funktioniert.


    Hay,
    Danke erstmal für deine Antwort.
    Ich kriege dies irgendwie nicht hin.


    Hier mal der Code:


    Spoiler anzeigen
    stock CreateTable()
    {
    mysql_query("CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    mysql_query("ALTER TABLE `spieler` ADD `Username` varchar(64)");
    mysql_query("ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL");
    mysql_query("ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0'");
    }

  • Hey CesarSkyNET.


    Da die letzten 3 Parameter anscheinend optional sind, musst du nur dem mysql_connect (oder wie auch immer es bei dir heißt) eine Variable zuordnen und dann einen ganz normal Query Befehl senden.
    D.h. z.B:



    mysql_query(MEINEconnectionIDbeiONGAMEMODEINIT,"MEIN_QUERY_CODE");

    --
    Entschuldige bitte wenn es nicht klappt, bin ehr altmodisch und benutze selber noch das R5 Plugin und trigger die Events manuell. :')


    Edit: Meine Dummheit kam zu Vorschein. :)


  • Funktioniert nicht.

  • Beitrag von Andosius ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Laut meiner eigenen Datenbank hast du mehrere Semikolons vergessen(oder wie auch immer man das schreibt :'))
    Versuch mal den Code:

    SQL
    CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11)  AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    ALTER TABLE `spieler` ADD `Username` varchar(64);
    ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;
    ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';


    Logischer Weise in PWN umschreiben, bzw. den Query-Befehl davor setzen :) --> Kannst auch alles in einen String schreiben, des ist Pawn eigentlich scheiß egal :)

  • Laut meiner eigenen Datenbank hast du mehrere Semikolons vergessen(oder wie auch immer man das schreibt :'))
    Versuch mal den Code:

    SQL
    CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11)  AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    ALTER TABLE `spieler` ADD `Username` varchar(64);
    ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;
    ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';


    Logischer Weise in PWN umschreiben, bzw. den Query-Befehl davor setzen :) --> Kannst auch alles in einen String schreiben, des ist Pawn eigentlich scheiß egal :)



    Wenn ich dies so mache parssiert nichts.


    Code:


    Spoiler anzeigen
    stock CreateTable()
    {
    new query[4000];
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    format(query, sizeof(query), "ALTER TABLE `spieler` ADD `Username` varchar(64);");
    format(query, sizeof(query), "ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;");
    format(query, sizeof(query), "ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';");
    mysql_pquery(Handle, query);
    return 1;
    }

  • stock CreateTable()
    {
    mysql_query("CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    mysql_query("ALTER TABLE `spieler` ADD `Username` varchar(64);");
    mysql_query("ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;");
    mysql_query("ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';'");
    }



  • Das ist R5.


    Ich brauche aber die r38.
    da wenn ich dies mache kommen Errors.

  • Dann zeig uns die Errors, dann kann man den Code auch umschreiben.



    Erros:


    Spoiler anzeigen
    C:\Users\Andre Lobien\Desktop\Selfie.pwn(312) : error 035: argument type mismatch (argument 1)
    C:\Users\Andre Lobien\Desktop\Selfie.pwn(313) : error 035: argument type mismatch (argument 1)
    C:\Users\Andre Lobien\Desktop\Selfie.pwn(314) : error 035: argument type mismatch (argument 1)
    C:\Users\Andre Lobien\Desktop\Selfie.pwn(315) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    4 Errors.


    Zeilen:


    Spoiler anzeigen
    mysql_query("CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    mysql_query("ALTER TABLE `spieler` ADD `Username` varchar(64);");
    mysql_query("ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;");
    mysql_query("ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';'");

  • d.H ?

    Was denn wohl?
    Selber machen! :)


    String mit strcat zusammenkleben und dann mysql_tquery benutzen.

    Tipps

    Für strcat (falls es die richtige Funktion war ^^) einen neuen String schreiben und dann den restlichen Code immer mit der funktion hinzufügen.
    Sollte kein Problem sein, denke ich mal. :)

    Du bist hier um zu lernen und nicht um fertige Scripts zu bekommen.



    Grüße,
    iEnerqie.


    ZU DEN NEUEN BEITRÄGEN:
    Du musst mysql_tquery mit der Connection ID verwenden.


    Habe ich dir unten bereits erklärt..



  • Bei mir macht Er nichts, d.h er erstellt keine Tabelle.


    Code:


    Spoiler anzeigen
    stock CreateTable()
    {
    new query[1024];
    strcat(query,"CREATE TABLE IF NOT EXISTS `spieler` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    strcat(query,"ALTER TABLE `spieler` ADD `Username` varchar(64);");
    strcat(query,"ALTER TABLE `spieler` ADD `Passwort` varchar(128) NOT NULL;");
    strcat(query,"ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';'");
    mysql_pquery(Handle, query);
    }

  • Beitrag von Andosius ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • strcat(query,"ALTER TABLE `spieler` ADD `Level` int(11) NOT NULL DEFAULT '0';'");


    Hinter dem ersten Semikolon ist ein Hochkomma zu viel.
    //E: Habe es mal getestet, damit wären die Queries funktionsfähig.

    Oh, war glaube ich mein Fehler beim posten - egal.
    Vielen Dank ,dass du mich nicht alleine gelassen hast, wäre eventuell der letzte dem das aufgefallen wäre. ;)