Ergebnis 1 bis 8 von 8

Thema: MySQL-Problem: Editieren von Daten

  1. #1

    MySQL-Problem: Editieren von Daten

    Ja ... dafür lautet der Code ja normalerweise

    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "mail@blub.com" WHERE user = "Tomarus"');
    // 
    funzt so bei mir auch, wenn ich denn wie oben einfach nur die gewünschte reihe und die einzutragenden daten ins script schreibe. nun bringt mir das aber für ein script, in der der user z.B. sein passwort ändern will, herzlich wenig, wenn ich es von vornerein ins script schreibe, was genau wo reingespeichert werden soll. dafür müsste ich dann halt die eingabe des users abfragen und diese in die datenbank speichern ... aber genau das funktioniert bei mir nicht >_>
    probiert habe ich es schon in der form

    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "$_POST[newmail]" WHERE user = "$user"');
    // 
    sowie auch

    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = $_POST[newmail] WHERE user = $user'); 
    genau so wenig gehts auch, wenn ich vorher das eingegebene in einer extravariable speicher und diese dann eintragen lassen will ... das gleiche problem tritt zb auch bei nem loginscript auf, wenn er das gespeicherte passwort des eingegebenen usernamens abfragen und mit dem eingegebenen vergleichen soll.

    das dämlichste ist, dass ich auch schon solche scripts, mit denen man genau das erreicht, von tutorials und anderen (funktionierenden!) scripts kopiert habe, und es geht trotzdem nicht ... getestet hab ichs sowohl auf servern mit php4 als auch auf welchen mit php5. irgendwie hab ich keine ahnung was ich noch probieren soll ...

    hier ma das ganze script dieser update.php:

    PHP-Code:
    $mysqluser 'user';
    $mysqlpass 'password';
    $mysqlhost 'localhost';
    $database 'blablabla';

    mysql_connect ($mysqlhost$mysqluser$mysqlpasswd);
    mysql_select_db ($database);

    mysql_query ('UPDATE blablabla SET mail = "$_POST[new]" WHERE user = "$user"');
    // bzw alternativ ohne die häkchen um die variablen ...

    mysql_close();

    echo (
    'Änderungen eingetragen.');
    // schön wärs >_> 

    Geändert von Tomarus (22.12.2004 um 17:14 Uhr)

  2. #2
    Gibt $user und $_POST[new] mal zur Kontrolle im selben Script per echo aus.
    Ich vermute irgendwie das "array" für $user ausgegeben wird, oder eines von beidem gar nicht erst gesetzt ist.

  3. #3
    wird beides korrekt ausgegeben ... oder was wäre die richtige reaktion ? ^^

    Geändert von Tomarus (22.12.2004 um 18:10 Uhr)

  4. #4
    Zitat Zitat von Tomarus
    wird beides korrekt ausgegeben ... oder was wäre die richtige reaktion ? ^^
    Gut, dann bau diesen Teil des Codes:
    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "$_POST[new]" WHERE user = "$user"'); 
    So um wie ich ihn immer verwende:
    PHP-Code:
    mysql_query ("UPDATE blablabla SET mail = '$_POST[new]' WHERE user = '$user'"); 
    Also die Quotes mit den Apostrophes vertauscht.
    *zucktmitdenschltern* Ein Versuch ists wert.

  5. #5
    $_POST[new] ist schlecht. Du solltest lieber $_POST['new'] verwenden. Bei ersterem Fall sieht PHP das new wohl als Konstante/Schlüsselwort an und führt, jedenfalls bei strenger Fehlersensibilität (schon das zweite mal, dass ich das Wort heute schreibe o_O), zu Fehlermeldungen.
    Man kann aber auch nicht so einfach $array['bla'] in einem "-String schreiben. Da sollte man dann { } drum machen oder gleich den String unterbrechen mit dem .-Operator.
    Im Endeffekt:
    PHP-Code:
     mysql_query ("UPDATE blablabla SET mail = '".$_POST['new']."' WHERE user = '".$user."'"); 
    oder
    PHP-Code:
     mysql_query ("UPDATE blablabla SET mail = '{$_POST['new']}' WHERE user = '{$user}'"); 

  6. #6
    ICh glaube ich habe den fehler

    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "$_POST['new']" WHERE user = "$user"'); 
    So sollte es heissen

    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "".$_POST['new']."" WHERE user = "".$user":"'); 
    Wenn es nicht dieser fehler ist weiss ich auch nett weiter

    edit:
    DAMN da war wer schneller trotzdem ist meine Lösung anderrs

  7. #7
    Zitat Zitat von Dingsi
    PHP-Code:
    mysql_query ("UPDATE blablabla SET mail = '".$_POST['new']."' WHERE user = '".$user."'");

    jaaaaa, funzt *dance*
    danke euch, ihr seid supa

  8. #8
    Zitat Zitat von dadie
    PHP-Code:
    mysql_query ('UPDATE blablabla SET mail = "".$_POST['new']."" WHERE user = "".$user":"'); 
    Das geht sicher nicht. oO. Du öffnest den String doch mit '. Also mysql_query(' << da. Und willst in dann bei $_POST mit " unterbrechen. Äh. Ja. Schaus dir doch mal im Syntahighlight an. Da sieht man doch schon dass das nicht gehen kann.

    ²Tomarus: np. ^^. man hilft doch gerne.

Berechtigungen

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