Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 25 von 25

Thema: Rausfinden der nächsten ID über PHP

  1. #16
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Hm, ich wuerde mal versuchen die Werte zu quoten, wo es noetig ist.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  2. #17
    Registrierter Benutzer
    Registriert seit
    12.02.2006
    Beiträge
    22
    Zitat Zitat von nul Beitrag anzeigen
    Hm, ich wuerde mal versuchen die Werte zu quoten, wo es noetig ist.
    Verdammt! Wie peinlich. Habe ich komplett übersehen.

  3. #18
    Registrierter Benutzer
    Registriert seit
    10.10.2005
    Beiträge
    39
    ausserdem solltest du dir die funktion addslashes() (oder so aehnlich) angucken, sonst hilft dir das quoten gar nix, wenn mal jemand ein " oder ' in seinem beitrag stehen hat.

    siehe auch SQL-Injection

    PS: die idee, fuer jeden neuen beitrag eine neue kommentartabelle anzulegen, ist, gelinde gesagt, ... aehm... schlecht. und sie steht im widerspruch zum relationalen datenmodell. wenn du z.b. einmal wissen willst, wieviel kommentare insgesamt abgegeben wurden, musst du jede einzelne tabelle abfragen. wenn du glueck hast, bremmst du dann nur deinen server aus, wenn du pech hast, passieren dinge, die ich mir nicht mal vorstellen moechte...
    schreib lieber in die kommentar tabelle 'nen eintrag zu welchem newsbeitrag ein kommentar gehoeren soll. iss performanter, sicherer, einfacher, uebersichtlicher..........

  4. #19
    Registrierter Benutzer
    Registriert seit
    17.09.2006
    Ort
    Merzig
    Beiträge
    13
    Zitat Zitat von OpOs Beitrag anzeigen
    PS: die idee, fuer jeden neuen beitrag eine neue kommentartabelle anzulegen, ist, gelinde gesagt, ... aehm... schlecht. und sie steht im widerspruch zum relationalen datenmodell. wenn du z.b. einmal wissen willst, wieviel kommentare insgesamt abgegeben wurden, musst du jede einzelne tabelle abfragen. wenn du glueck hast, bremmst du dann nur deinen server aus, wenn du pech hast, passieren dinge, die ich mir nicht mal vorstellen moechte...
    schreib lieber in die kommentar tabelle 'nen eintrag zu welchem newsbeitrag ein kommentar gehoeren soll. iss performanter, sicherer, einfacher, uebersichtlicher..........
    Das finde ich allerdings auch.
    Probier es mal mit

    CREATE TABLE `news` (
    `user_id` INT( 8 ) NOT NULL ,
    `news_id` INT( 8 ) NOT NULL ,
    `author` VARCHAR( 100 ) NOT NULL ,
    `entry` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
    `news_text` TEXT NOT NULL ,
    PRIMARY KEY ( `user_id` , `news_id` )
    ) TYPE = MYISAM ;

    Mit dem kombinierten Schlüssel gibt es für jeden Benutzer eine Nachricht mit der ID 1, 2, u.s.w.
    Bsp.:
    mysql_query("INSERT INTO news (user_id, news_id, author, news_text) VALUES (1, 1, "ich", "Das ist mein Text");
    mysql_query("INSERT INTO news (user_id, news_id, author, news_text) VALUES (1, 2, "ich2", "Das ist mein Text2");
    mysql_query("INSERT INTO news (user_id, news_id, author, news_text) VALUES (2, 1, "ich3", "Das ist mein Text3");
    .....

    @Pingu
    Ich kenne die Vor-und Nachteile von AutoIncrement-Feldern. In Verbindung mit max würde ich aus dem AutoIncrement-Feld auch ein normales int-Feld machen. War auch nur einer von mehreren Lösungswegen.
    http://www.cplinux.de

  5. #20
    Registrierter Benutzer
    Registriert seit
    15.06.2006
    Beiträge
    43
    .......... also ich versteh das net. Erklärt es mir bitte nicht im Fach chinesisch :P etwas einfacher^^

    Ich hätte noch ein Problem. Wenn ich was eintragen will kommt folgendes :
    Code:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'der Titel, NOW(), der forz, Das is der Inhalt)' at line 4
    Mein Code :
    Code:
    $sql = " INSERT INTO News
             (Titel, Datum, Author, Inhalt)
    		 VALUES
    		 (".$_POST['titel'].", NOW(), ".$_COOKIE['username'].", ".$_POST['inhalt'].")";
    Für mich sieht alles richtig aus heeellllpppp

    €:
    Zitat Zitat von OpOs Beitrag anzeigen
    wenn du glueck hast, bremmst du dann nur deinen server aus, wenn du pech hast, passieren dinge, die ich mir nicht mal vorstellen moechte...
    Was würde dann passieren?!? *angst hab*
    Geändert von K0rnbr0t (23-09-2006 um 12:19 Uhr)

  6. #21
    Registrierter Benutzer
    Registriert seit
    12.02.2006
    Beiträge
    22
    Dir Fehlen noch die Quotes (Anführungszeichen, Gänsefüsschen, etc) um die Variablen Werte in Deinem SQL Query String.

    z.B.:
    PHP-Code:
     ('".$_POST['titel']."'NOW(), '".$_COOKIE['username']."'
    Strings müssen innerhalb von Quotes stehen und um das mit den addslashes zu Zeigen:
    PHP-Code:
     ('".addslashes($_POST['titel'])."'NOW(), '".addslashes($_COOKIE['username'])."'
    dann musst Du beim ausgeben der Daten jedoch ein stripslashes() machen.

    Viele Grüße

  7. #22
    Registrierter Benutzer
    Registriert seit
    15.06.2006
    Beiträge
    43
    Code:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'forz, //$_COOKIE['username']=der forz
     dfsdf)' at line 4

  8. #23
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Ich gebe Dir mal einen kleinen Hinweis:

    Wenn eine MySQL-Fehlermeldung kommt, dann gibt diese immer an wo der Fehler verursacht wurde. Wenn Du nicht weisst, was der wirkliche Grund ist, dann musst Dir die Befehle, wie sie an die Datenbank gesendet werden, gnauso anzeigen lassen. Denn nur dann kann man erkennen, wie die Befehle aussehen und wie sie aussehen müssten. Wie Du sicherlich weisst, gibt es dafür verschiedene Möglichkeiten; die Klassiker sind "echo", "print" "printf". Das ganze nennt man "debuggen".
    Homepage: www.pingu.info

  9. #24
    Registrierter Benutzer
    Registriert seit
    15.06.2006
    Beiträge
    43
    Ahhhhh ok habs rausgefunden . Hätten da noch ein problem. WIe kann ich einen eintrag über die ID auswählen???

  10. #25
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Vielleicht solltest Du ersteinmal ein kleines Handbuch durcharbeiten bevor Du weiter machst. Zum Beispiel gibt es hier ein kleines: http://little-idiot.de/mysql/
    Homepage: www.pingu.info

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •