Beiträge von Firerfan

    Ohne die Striche: Funktion gibt falschen Wert zurück


    Mit den Strichen: MySQL gibt Errors aus:
    [Sun Mar 13 23:38:52 2011] Error (0): Failed to exeute query. Unknown column 'Firerfan' in 'where clause'.
    [Sun Mar 13 23:38:52 2011] Error (0): Function: mysql_store_result called when no prior successful query executed. Unknown column 'Firerfan' in 'where clause'.
    [Sun Mar 13 23:38:52 2011] Error (0): Function: mysql_num_rows called when no result stored. Unknown column 'Firerfan' in 'where clause'.


    Trooper:
    Alles klar, ich sehe ein das es Falsch sein muss.
    Aber wie ist dann die richtige Syntax?
    In der Dokumentation von MySQL Finde ich meine Methode.
    In PHP Funktioniert meine Methode.
    Ich habe mir auch diverse Tutorials durchgelesen, in denen dies so Funktioniert.


    //EDIT:
    Sogar im SA-MP Wiki steht diese Methode:
    http://wiki.sa-mp.com/wiki/MySQL_Plugin

    Naja, der Query ist global definiert.
    Und zu der Sache mit dem anderen Plugin:


    Erst habe ich meinen GameMode von DINI auf SII umgeschrieben, dann von SII auf das MySQL Plugin und jetzt habe ich ganz ehrlich keine Lusst, alles nochmal umzuschreiben^^


    Was die Striche angeht...
    Hmm... schade das du keine Lösung kennst.
    Danke trozdem für deine Hilfe.



    Aber ich denke mal die Striche sind so richtig.


    Lasse mich aber auch gerne verbessern!




    MfG Firer



    //EDIT:
    Wortwahl...

    Mein MySQL-Code:

    SQL
    SELECT * FROM accounts WHERE name='%s'


    Ja, hab ihn etwas verändert.
    Das 1te Format war unnötig^^


    EDIT:
    Mein Query ist 1024 Zeichen lang.
    Müsste ich auch mal verringern, abner ich habe erstmal zuviel genommen, als wenn nachher einige Teile nicht übertragen werden.
    Vorallem bei meinen Eingaben.

    habe ich doch genau so:

    format(bedien,104,"name='%s'",pname[playerid]);
    format(query,sizeof(query),"SELECT * FROM accounts WHERE %s",bedien);


    In PHP:

    PHP
    $ergebnis = mysql_query("SELECT level FROM accounts WHERE name='$name'"); $level = mysql_fetch_row($ergebnis);


    Da werden halt Daten ausgelesen. Allerdings mit genau der selben Where-Bedingung
    Habe dort eine andere Methode, um zu überprüfen, ob der Account registriert ist.

    Ich verstehs immernoch nicht.
    Sorry wenn ich jetzt hier gerade so rüber komme, als ob ich 0 Plan von nichts hätte.
    Nur habe ich mich nochnicht mit MySQL in PAWN beschäftigt.


    In PHP Funktioniert diese Abfrage vollkommen Fehlerfrei.
    Ich habe echt keine Ahnung, an was es denn liegen könnte.



    Nach meiner Information, wird ja somit die abfrage aussortiert, wo der sich in der Spalte "name" der Wert "Firerfan" befindet, oder etwa nicht?
    Es funktioniert ja sogar, nur nerven die MySQL-Errors X(

    Übersetzung ins Deutsche:
    Fehler beim Ausführen der Abfrage. Unbekannte Spalte "Firerfan" in "where clause"...
    Muss ich ein Wort anders abfragen als eine Zahl?


    Wenn nein, wieso funktioniert es problemlos, wenn ich ID's abfrage?

    Hallo leute,
    mal wieder ein MySQL Problem.


    Ich möchte checken, ob mein Name in der Spielerdatenbank eingetragen ist.
    Code:
    stock AccountCheck(playerid)
    {
    new bedien[104];
    format(bedien,104,"name='%s'",pname[playerid]);
    format(query,sizeof(query),"SELECT * FROM accounts WHERE %s",bedien);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()){mysql_free_result(); return 1;}
    else {mysql_free_result(); return 0;}
    }
    Gibt nur leider einen MySQL-Error bei der Abfrage:

    SQL
    Error (0): Failed to exeute query. Unknown column 'Firerfan' in 'where clause'.

    FaiL...
    Wieso die Ersten 10 stellen überprüfen wenn nur 2 benutzt werden?
    if(!strcmp(cmdtext,"/n",true,2))
    So ists noch kürzer.



    MfG Firer