MYSQL UPDATE- Fehler

Slin61

Mitglied
Hey Leute,
ich verstehe den Fehler bei meinem Code nicht. mysql_error() gibt auch nichts aus und die if-Schleife am Ende sagt auch erfolgreich, aber wenn ich das Gnaze mir dann anzeigen lasse, dann bleibt der Wert, wie vorher.
Hier meine SQL-Tabellen-Informationen:
Tabllenname: vorschlag
Spalten: index, meldung, vorschlag, ja, nein

und hier mein Script:

PHP:
if(isset($_POST['abstimmen']) AND isset($_POST['objekt']))
{
    if($_POST['abstimmen']=="ja")
    {
        $holen = "SELECT ja, vorschlag FROM vorschlag WHERE vorschlag = '".$_POST
                          ['objekt']."' LIMIT 1";
        $kriegen = mysql_query($holen);

        $row = mysql_fetch_object($kriegen);

        $zahl = $row->ja++;

        echo "$row->ja <br /> $row->vorschlag";
      //Die Ausgabe ist die Richtige, aber sie wird nicht in die SQL-Tabelle geschrieben

        $update = "UPDATE vorschlag SET  vorschlag.ja = '".$zahl."' WHERE 
                            vorschlag.vorschlag = '".$_POST['objekt']."'";

        $query = mysql_query($update) or die(mysql_error());

        if($query)
            {
                echo "erfolgreich";
            }
    }
Und ein Teil des Scriptes drumherum:

PHP:
$schreiben = "INSERT INTO `vorschlag` (meldung, vorschlag, ja, nein) VALUES ('".trim($_POST['meldung'])."', '".trim($_POST['vorschlag'])."', '0', '0')";
$query = mysql_query($schreiben) or die (mysql_error());
if($query)
{
    echo "Eintrag erfolgreich";
}
else
{
    echo "Eintrag konnte nicht gespeichert werden";
}

Der Rest der Datei nimmt keinen Einfluss auf die Datenbank. Ich hoffe, dass ihr mir weiterhelfen könnt.
 
Du solltest mysql_affected_rows() verwenden, statt die Resource zu prüfen. Das heißt konkrekt:

PHP:
if( mysql_affected_rows() )
{
    echo "Eintrag erfolgreich";
}
else
{
    echo "Eintrag konnte nicht gespeichert werden";
}

bzw. im oberen Script

PHP:
        $query = mysql_query($update) or die(mysql_error());

        if( mysql_affected_rows() )
            {
                echo "erfolgreich";
            }
 
Lass dir doch mal die Statements ausgeben die ausgeführt werden. Prüfe so, ob sie überhaupt den korrekten Wert enthalten. Wenn nicht, schau weiter oben nach, auch mit Debug-Ausgaben. Anhand dieses Codes kann man das Problem nicht wirklich erkennen.

if-Schleifen gibt es übrigens nicht.
 
Es funktioniert jetzt. $zahl wurde als String angesehen und nicht als Integer und dadurch konnte man den nicht um 1 inkrementieren
 
Zurück