MySQL Tabelleneintrag löschen Fehler

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


    Ich habe mir gerade ein Code erstellt um leute aus einer Datenbank zu löschen


    Nur aus einen mir unbekannten grund klappt das ganze nicht


    Ich hab hier mal ein code
    stock mysql_delete(table,name[])
    {
    new sql[256];
    format(sql,sizeof(sql),"DELETE `%s` FROM `%s`",name,table);
    mysql_query(sql);
    }


    Ich weiß nicht was ich verändern müsste
    Ich hoffe auf eure hilfe

  • Die Syntax für DELETE ist bei dir falsch.


    SQL
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]


    Es müsste also z.b so sein:

    SQL
    DELETE FROM `tabelle` WHERE `spalte` = 'wert'


    Versuchs mal so:
    stock mysql_delete(table,where[],is[])
    {
    new sql[256];
    format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s` = '%s'",table,where,is);
    mysql_query(sql);
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • ok verwenden tu ich das dann so


    mysql_delete("Tabelle","Name",is[]);


    Aber was is mit den is?

  • Wäre dann z.B. wenn du mehrere Einträge mit dem gleichen Namen hast oder wenn du nur einen bestimmten Eitrag löschen möchtest.


    kannst du aber auch raus nehmen, sofern du es nicht benötigst

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • aso


    ja dann seht der string so aus ne


    format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s`",table,where);

  • Du willst ja die Spalte löschen, wo der Name vorkommt. Also musst du auch mitteilen, welchen Namen du löschen willst^^


    mysql_delete("Tabelle","Name","Maddin");
    Würde z.b aus der Tabelle "Tabelle" die Reihe löschen, wo in der Spalte "Name" der wert "Maddin" steht

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • achso


    Ok danke


    ((Und danke für das Zitat von den MySQL Referenzbuch kann ich gut gebrauchen))

  • Du hast wohl gar nicht mehr vor, wenigstens etwas aus dem MySQL Referenzbuch zu lesen.


    format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s`",table,where);
    WHERE was ?


    http://forum.sa-mp.de/san-andr…6schen-fehler/#post981870
    Maddin hat es geschrieben.
    Angenommen du willst die Eintrag Löschen,wo der Spielername "Testname" ist:
    stock mysql_delete(table,where[],is[])
    {
    new sql[256];
    format(sql,sizeof(sql),"DELETE FROM `%s` WHERE `%s` = '%s'",table,where,is);
    mysql_query(sql);
    }
    mysql_delete("players","name","Testname");