kostenloser Webspace werbefrei: lima-city


php mysql rename

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    stargate

    Kostenloser Webspace von stargate

    stargate hat kostenlosen Webspace.

    Hallo!
    Ich möchte in PHP eine Abfrage machen, wo ein gewisser Eintrag meiner Mysql Datenbank gesucht und ersetzt wird.
    Mein Problem ist nur, bis jetzt habe ich nichts passendes gefunden wo man wirklich nur EINEN Eintrag auswählen kann.
    Ich hätte mir das so vorgestellt, dass man den rename Befehl wie den Select Befehl verwenden kann, also:


    "SELECT irgendwas FROM meinetabelle WHERE bestellnummer = '".$_GET['bestellid']."'";


    Ich habe schon versucht, den Code für "rename" anzupassen, aber erfolglos.
    Bin im Bereich PHP und Mysql nicht gerade sehr erfahren ;)

    Weiß jemand wie ich das lösen kann?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Suchst du etwa UPDATE?

    Dazu kannst du sowas machen:
    $bestellid = mysql_real_escape_string($_GET['bestellid'];
    $query = "UPDATE meinetabelle SET feld = 'wert' WHERE bestellnummer = '$bestellid'";
    mysql_query($query);
  4. Hallo

    der Befehl heisst "UPDATE"


    <?php
    $neuwert = 'neuer Eintrag in irgendwas-Feld'; 
    $sql_update = "UPDATE meinetabelle SET irgendwas = '".$neuwert."' WHERE bestellnummer = '".$_GET['bestellid']."'";
    
    if ( !mysql_query($sql_update) ) { 
        echo "<br /> Fehler .... beim Update ... \n"; 
        echo mysql_error(); 
        exit; 
    }
    else { 
        echo "<br /> OK .... Update war erfolgreich \n"; 
    }
    
    ?>


    für schnelle Info zu MySQL Grundlagen empfehle ich w3schools auch mit kurzem Beispiel

    EDIT: ... ok ... hackyourlife war (wiedermal) schneller :)

    gut das er darauf hinweist, dass man User-Eingaben (GET / POST) immer escapen sollte
    ... also NICHT so wie hier, direkt in der SQL-Query die $_GET Variable einfügen
    sondern wenn User-Eingaben, dann immer escapen (Sicherheit)

    siehe ... mysql_real_escape_string() ... als neue Variable oder direkt im Query

    $neuwert = mysql_real_escape_string($_GET['neu']); 
    
    $sql = "UPDATE meinetabelle SET irgendwas =  '".$neuwert."' WHERE bestellnummer = '". mysql_real_escape_string($_GET['bestellid']) ."'";




    Beitrag zuletzt geändert: 13.6.2012 10:09:00 von wzone
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    wzone schrieb:
    $sql_update = "UPDATE irgendwas FROM meinetabelle WHERE bestellnummer = '".$_GET['bestellid']."'";
    Und hackyourlife weist dich auf eine fehlerhafte Syntax des UPDATE-Befehls hin... ;-)
    die Struktur muss so aussehen:
    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
        SET col_name1=expr1 [, col_name2=expr2 ...]
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
    Also muss dein Befehl auch so aussehen:
    UPDATE tabelle SET spalte = 'wert' WHERE bedingung = 1
  6. hackyourlife schrieb:
    Und hackyourlife weist dich auf eine fehlerhafte Syntax des UPDATE-Befehls hin... ;-)


    ups, ja, Danke, das habe ich ganz übersehen ...
    ... habe meinen Code oben entsprechend geändert / korrigiert

    ohne SET feld = 'wert' weiss die Abfrage ja garnicht
    welches Feld sie mit welchem Wert ersetzen soll

    bei UPDATE mehrerer Felder in einer Abfrage dann wohl nach SET in Klammern, durch Komma getrennt
    $sql = "UPDATE meinetabelle 
    SET (
      feld1 = '$neuwert1', 
      feld2 = '$neuwert2', 
      feld3 = '$neuwert4', 
    )
    WHERE bestellnummer = '$bestellid' ";


    Zeilenumbruch (für übersichtliche Code-Gestaltung) sollte kein Problem sein,
    ist manchmal sogar besser, um einen Fehler zu finden (Angabe der Zeile in Fehler-Meldung)
  7. Autor dieses Themas

    stargate

    Kostenloser Webspace von stargate

    stargate hat kostenlosen Webspace.

    Danke euch Beiden für die schnellen Antworten!

    Hat super funktioniert!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!