Mysql Query wird nicht ausgeführt??

  • Hallo leute,

    isch hab da ein problem

    Code
    $sql_upd = "UPDATE planet SET koord = "."'". $_POST['koordinaten']."'"." WHERE id = ". $_POST['id'].";";
    
    							mysql_query($sql_upd) OR die(mysql_error());

    Dieses query wird nicht ausgeführt. Wenn ich $sql mit echo ausgebe und von Hand in PHP myadmin ausführe dann gehts.

    Was mach ich falsch?

  • Ich stelle grad fest das dieses problem mehrmals auftritt, also auch auf anderen seiten. Was kann das sein?
    Eine Select abfrage und eine Delet abfrage gehen einwandfrei.

  • Code
    $sql_upd = "UPDATE planet SET koord = '". $_POST['koordinaten']." 'WHERE id = ". $_POST['id'].";";
    mysql_query($sql_upd) OR die(mysql_error());

    So auch mit diesem code komm ich auch nicht weiter. gleiches problem

  • Das ist doch das problem. Es gibt keine Fehlermeldung. Er machts nur nicht.
    Wenn ich den SQL string an der stelle mit echo ausgebe und ihn per copy paste im PHP myadmin einfüge dann wird der ausgeführt ohne eine Fehlermeldung.

  • So proplem ist ja immernoch.

    Steh in der PHP datei:

    Code
    $sql_upd = "UPDATE planet SET koord = '". $_POST['koordinaten']." 'WHERE id = ". $_POST['id'];
    echo "msg 1 : ". $sql_upd."
    "; // testausgabe
    $result = mysql_query($sql_upd);
    echo $result."
    ";// testausgabe
    echo "msg 2 : ". mysql_error();// testausgabe

    das wird ausgegeben

    Code
    msg 1 : UPDATE planet SET koord = '154:15:145 'WHERE id = 6
    1
    msg 2 :

    wie man sieht wird alles abgearbeitet nur dieser Query mach die update funktion nicht.

    Ich wette das das ein klitzekleiner Fehler ist und ich mir in der A***llerwertesten beis wenn jemande die lösung postet.

  • Code
    $sql_upd = "UPDATE planet SET koord = '". $_POST['koordinaten']."' WHERE id = '". $_POST['id']."';


    du lässt die hälfte weg iwie
    1. da war ein hochkomme ' direct vor where, das leerziechen war falsch plaziert
    2. bei id den wert hab ich mal in hochkommas gesetzt und ausserdem anführungszeichen ans ende gesetzt

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Danke für den tip. er bringt leider keine besserung :( heul schnief.

    So hier mal die PHP datei für Edit:

    und die Passende tpl datei:

    So wenn ich, wie bereits erwähnt, den erzeugten SQL string in PHPmyAdmin einfüge und ausführe so wird das ohne eine fehlermeldng auch gemacht.
    --> SQL string also in Ordnung

    Auch gebe ich an mehreren stellen den inhalt von mysql_error() aus.
    --> keine einträge drin

    Wenn ich an Mysql_query() eine "falsche" zeichenkette übergebe so kommt es auch zu einer fehlermeldung.
    -->Mysql_query() wird also ausgeführt.

    Also was kann ich noch testen? Meiner meinung nach ist soweit alles richtig der SQL string ist korrekt und wird auch via mysql_query() an meine DB weitergegeben nur dort nicht ausgeführt. Sehe ich das so richtig oder sehe iich den Wald vor lauter Bäumen nicht mehr.

    Mysql_query() wird auch ausgeführt

  • Versuch's mal damit.

  • ne *zusammenbrech* geht immernoch ned.

    Code
    msg 1 : UPDATE planet SET koord = '154:15:145' WHERE id = '6' LIMIT 1


    das ist der SQL string.

    Kann das auch mit dem Formular zusammenhängen? Keine ahnung... mein Latein ist am ende.

  • was geht denn jetzt nicht?
    wird das update in der tabelle nicht vorgenommen?
    dann müsste ja ein fehler durch mysql_error() kommen. was für ein typ ist denn koord? hast du eine maximal anzahl an zeichen festgelegt?

  • Hallo ich denke ich habe den fehler. Steck im Formular weis nur nicht wie ich den beheben kann.
    Ich kann immer nur das letzte Feld ändern. und das macht er dann auch. Also wird der fehler in dem Formular liegen das ich gemacht habe.
    Nur wo und wie löse ich das.
    Ich denke ich sehe den fehler vor lauter zwanghaft suchen nicht.

  • das ist jetzt nicht der fehler, aber hast du hier keine fehler?
    <form name="planet_edit" class="formular" action="index.php?section=admin&amp;site=planet&amp;action=edit" method="post">

    sollte es nicht so aussehen?
    <form name="planet_edit" class="formular" action="index.php?section=admin&site=planet&action=edit" method="post">

    so wie dus gepostet hast, wäre mir neu...

  • Zitat

    ich denke ich habe den fehler. Steck im Formular weis nur nicht wie ich den beheben kann.
    Ich kann immer nur das letzte Feld ändern. und das macht er dann auch.


    Stimmt, jetzt sehe ich, dass du mehrere Koordinaten ändern willst.

    Du musst aus

    Code
    <div class="eingabe">
             <input type="text" name="koordinaten" value="{$koord.koord}" />
          </div>
          <div class="eingabe">
             <input type="submit" name="eingabe" value="Ändern">
             <input type="hidden" name="id" value="{$koord.id}">      
          </div>

    Arrays machen, also

    Code
    <div class="eingabe">
             <input type="text" name="koordinaten[]" value="{$koord.koord}" />
          </div>
          <div class="eingabe">
             <input type="submit" name="eingabe" value="Ändern">
             <input type="hidden" name="id[]" value="{$koord.id}">      
          </div>

    und auch das Update-Script entsprechend ändern: