Daten werden nicht gespeichert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Spunk95
    antwortet
    Du bist ein Held!

    Hab mysql_real_escape_string() jetzt eingebaut und vor allem from in from_user umbenannt und jetzt funktioniert es

    Vielen vielen Dank

    Einen Kommentar schreiben:


  • combie
    antwortet
    near 'from
    from ist ein reserviertes Wort!
    Siehe: "SELECT bla [COLOR="#ff0000"]FROM[/COLOR] blub"

    Es ist also keine gute Idee dieses Wort als Spaltennamen zu verwenden. MySQL ist allerdings gnädig und erlaubt es den Begriff in Backticks zu setzen.

    mysql_real_escape_string() werd ich mir jetzt durchlesen, also was das ist
    Ja, das solltest du tun!
    Und nicht nur lesen, [COLOR="#ff0000"]sondern auch einsetzen![/COLOR]
    Zuletzt geändert von combie; 19.08.2010, 20:19.

    Einen Kommentar schreiben:


  • Spunk95
    antwortet
    Die Fehlermeldung:
    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 'from, stars, cid) VALUES ('Spunk', '1', '3')' at line 1

    mysql_real_escape_string() werd ich mir jetzt durchlesen, also was das ist
    Danke

    Einen Kommentar schreiben:


  • combie
    antwortet
    Was sagt das Handbuch zu mysql_query() ?

    Richtig, es liefert bei einem erfolgreichen Insert True und bei einem fehlgeschlagenen False!
    Prüfe das!
    Nutze das!
    Lasse dir im Fehlerfall den Fehler mit mysql_error() zeigen.

    mysql_real_escape_string() mittlerweile eingebaut?
    Nein?
    Warum nicht?
    Tue das.

    Find ich den Fehler nun wenn ich ihn ausgeben lasse
    Solange du das ignorierst, wirst du ihn nicht finden.

    Einen Kommentar schreiben:


  • Spunk95
    antwortet
    Hab grade in das PHP Handbuch hier geschaut (oder welches meinst du?)... Aber da hab ich dazu nichts gefunden. Ich weiß auch nicht genau wonach ich suchen soll
    Find ich den Fehler nun wenn ich ihn ausgeben lasse oder anders?

    Einen Kommentar schreiben:


  • combie
    antwortet
    PHP-Code:
    if (!isset ($sql_vote)){ 
     echo 
    mysql_error($sql_votes); 

    Quatsch!

    Warum schaust du nicht mal ins Handbuch?

    Einen Kommentar schreiben:


  • Spunk95
    antwortet
    Zitat von combie Beitrag anzeigen
    Wenn der INSERT fehl schlägt, meldet MySQL einen Fehler. Du aber ignorierst dieses.
    Dein Code ist (höchstwahrscheinlich) anfällig für SQL Injections.
    Wenn du die unterbindest, dann sollte auch das Speichern zuverlässig klappen.

    Tipp:
    mysql_error()
    mysql_real_escape_string()
    Danke für die schnelle Antwort, habs keider noch nicht ganz verstanden
    Soll ich noch ne if Anfrage einbauen, für denn Fall, dass es Fehlschlägt? Die beiden Tipps kenn ich nicht so gut, hab ich noch nice benutzt Aber ich denke mal du meinst es so oder?

    PHP-Code:
    if (!isset ($sql_vote)){
     echo 
    mysql_error($sql_vote);

    Zuletzt geändert von Spunk95; 19.08.2010, 19:41.

    Einen Kommentar schreiben:


  • combie
    antwortet
    Wenn der INSERT fehl schlägt, meldet MySQL einen Fehler. Du aber ignorierst dieses.
    Dein Code ist (höchstwahrscheinlich) anfällig für SQL Injections.
    Wenn du die unterbindest, dann sollte auch das Speichern zuverlässig klappen.

    Tipp:
    mysql_error()
    mysql_real_escape_string()

    Einen Kommentar schreiben:


  • Spunk95
    hat ein Thema erstellt Daten werden nicht gespeichert.

    Daten werden nicht gespeichert

    Hi, ich bins wieder
    Bin übrigens bis jetzt sehr zufrieden und glücklich über die Hilfe die ich hier bekommen habe, vielen Dank dafür

    Zu meinem neuen Problem:
    Bei manchen SQL Anfragen werden die Daten einfach nicht gespeichert, bei anderen schon. Es kommt keine Fehlermeldung, es scheint alles zu klappen, aber die Daten werden nicht eingetragen..

    Hier ein Beispiel (Es geht um eine Bewertung):

    Das Formular:

    PHP-Code:
    <form action="index.php?s=creation&id=<?echo $cid?>&add=vote" method="post">
                                <select name="vote">
                                    <option value="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
                                    <option value="1">1</option>
                                    <option value="2">2</option>
                                    <option value="3">3</option>
                                    <option value="4">4</option>
                                    <option value="5">5</option>
                                    <option value="6">6</option>
                                    <option value="7">7</option>
                                    <option value="8">8</option>
                                    <option value="9">9</option>
                                </select>
        <input type=submit id="settings_box_vote" name="submit" value="Vote">
        </form>

    Der Insert Code:
    PHP-Code:
    if($_GET["add"] == "vote")
         { 
              if (
    $_POST["vote"] != "")
              {
          
                      
    $sql_vote "INSERT INTO votes (from, stars, cid)
                      VALUES ('"
    .$username."', '".$_POST["vote"]."', '".$cid."')";
                      
    mysql_query($sql_vote);
                      echo 
    "Vote eingetragen";
              }
              else
              {
                  echo 
    "Kein Vote angegeben";
              }
        } 
    Die Datenbank sieht so aus:

    id int(30) Nein Kein AUTO_INCREMENT from varchar(30) latin1_swedish_ci Nein Kein
    stars varchar(3) latin1_swedish_ci Nein Kein
    cid varchar(30) latin1_swedish_ci Nein Kein
    deleted varchar(3) latin1_swedish_ci Nein 0

    Hab ein Bild angehängt


    Ich hab mir den Code jetzt seit Tagen angeschaut, aber ich komm nicht auf den Fehler

    Ich hoffe jemand von euch findet ihn, vielen Dank im Vorraus
    Angehängte Dateien
    Zuletzt geändert von Spunk95; 19.08.2010, 19:20.
Lädt...
X