PHP: Array in MySQL Datenbank schreiben. Was mache ich falsch?



  • Hier der Code:

    $einsatzb = $_POST['einsatzb'];
    $rufnr = $_POST['rufnr'];
    $betriebskr = $_POST['betriebskr'];
    $mobil = $_POST['mobil'];
    $persnr = $_POST['persnr'];
    
    $sql = "UPDATE
    				teledata
    		SET
    				Einsatzbereich = $einsatzb,
    				Rufnummer = $rufnr,
    				Betriebskraft = $betriebskr,
    				Mobil = $mobil
    		WHERE
    				Personalnummer=$persnr;";
    
    mysql_query($sql);
    

    Kann mir einer sagen was ich falsch mache? Zur Datenbank bin ich verbunden und die Daten im Array wurden auch von der vorherigen Seite einwandfrei übergeben (hab ich mit print_r($_post); geprüft.

    Ich hoffe ich könnt mir helfen, habe erst mit PHP angefangen und heut den halben Nachmittag damit verbracht, aber es will nit. Ist sicherlich ganz einfach, wenn mans weiß 😉



  • Ja huch, bin ins falsche Forum geraten, wenn möglich bitte in Webzeugs verschieben 🙂



  • Hast Du dran gedacht Zeichenketten in Singlequotes zu setzten? 😉



  • Ich habs jetzt mal so gemacht:

    $einsatzb = 'xx 12';
    $rufnr = '0990456546';
    $betriebskr = 'blabla';
    $mobil = '012045646546';
    $persnr = '1092654646';
    
    $sql = "UPDATE
    				teledata
    		SET
    				Einsatzbereich = $einsatzb,
    				Rufnummer = $rufnr,
    				Betriebskraft = $betriebskr,
    				Mobil = $mobil
    		WHERE
    				Personalnummer=$persnr;";
    
    mysql_query($sql);
    

    Hab also die Singlequotes gesetzt -> funzelt trotzdem nit



  • Bin nicht mehr zu fit in PHP, MySQL

    aber SQL braucht so sein String:

    "UPDATE teledata
    SET Einsatzbereich = 'xx 12', Rufnummer = '0990456546', Betriebskraft = 'blabla', Mobil = '012045646546'
    WHERE Personalnummer= 1092654646;"
    

    ich gehe aus:
    Einsatzbereich, Rufnummer, Betriebskraft , Mobil sind String in der DB.
    und Personalnummer ein Integer.

    So wenn du ne $variable = 'text' initalisiert und die dan ausgibt kommt heraus:

    text oder 'text' ?

    mfg
    Zeus



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Webzeugs verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Wie schon angedeutet musst du die Werte in Anführungszeichen einschließen - also so:

    $sql = "UPDATE 
                    teledata 
            SET 
                    Einsatzbereich = '$einsatzb', 
                    Rufnummer = '$rufnr', 
                    Betriebskraft = '$betriebskr', 
                    Mobil = '$mobil' 
            WHERE 
                    Personalnummer='$persnr'";
    

Anmelden zum Antworten