Update in PHP geht nicht

dayWalker74

Grünschnabel
Hallo Ihr Lieben,

Ich bekomme keine Updates in meiner DB. Ich habe schon mehrer Versuche gestartet. Was kann ich noch machen?


Versuch 1:

if (isset($_POST['submit']))
{
$str1 = addslashes($_POST['str']);
$hnr1 = addslashes($_POST['hnr']);
$Plz1 = addslashes($_POST['Plz']);
$ort1 = addslashes($_POST['ort']);
$vorwahl1 = addslashes($_POST['vorwahl']);
$rufnummer1 = addslashes($_POST['rufnummer']);
$eMailadr1 = addslashes($_POST['eMailadr']);
$ktoinhaber1 = addslashes($_POST['ktoinhaber']);
$konto1 = addslashes($_POST['konto']);
$BLZ1 = addslashes($_POST['BLZ']);
$bank1 = addslashes($_POST['bank']);
mysql_query("UPDATE dslbestellung SET `str` = '$str1', `hnr`= '$hnr',`Plz`='$Plz1',`ort`='$ort1',`vorwahl`='$vorwahl1',`rufnummer`='$rufnummer1',`eMailadr`='$eMailadr1',`ktoinhaber`='$ktoinhaber1',`konto`='$konto1',`BLZ`='$BLZ1',`bank`='$bank1' where id=$id");
--------------------------------------------------------------------------------------

und das ist Versuch 2:

$sql_kunde= mysql_query("UPDATE dslbestellung SET str1='".$_POST['str']."',hnr1='".$_POST['hnr']."',Plz1='".$_POST['Plz']."',ort1='".$_POST['ort']."',vorwahl1='".$_POST['vorwahl']."',rufnummer1='".$_POST['rufnummer']."',eMailadr1='".$_POST['eMailadr']."',ktoinhaber1='".$_POST['ktoinhaber']."',konto1='".$_POST['konto']."',BLZ1='".$_POST['BLZ']."',bank1='".$_POST['bank']."', where id=$id");
};
 
Könntest du bitte in Zukunft Code in die entsprechenden Tags setzen, in dem Fall php-Button im Texteditor.

Zu deinem Problem:
Lass dir mal mysql_error() ausgeben. Ich vermute mal
PHP:
 $id = $_POST['id'];
fehlt.
 
German hat gesagt.:
Könntest du bitte in Zukunft Code in die entsprechenden Tags setzen, in dem Fall php-Button im Texteditor.

Zu deinem Problem:
Lass dir mal mysql_error() ausgeben. Ich vermute mal
PHP:
 $id = $_POST['id'];
fehlt.


Oh, vergessen....
PHP:
 $id = $_POST['id'];
klappt leider auch nicht.


<form name="datenaendern" method="post" action="index.php?id=<? echo $id ?>&pass=<? echo $pass ?>&fertig=yes">

...

<input type="submit" name="Abschicken" value="Daten abändern"></form>
 
DB-Connection und -Auswahl hast du überprüft?

Schreib mal die Query in eine Variable, lass sie ausgeben und lass dir ggf. Error ausgeben:
PHP:
$query = "UPDATE dslbestellung SET usw.";
echo $query."<br>";
$result = mysql_query($query) or die(mysql_error ());
echo $result;
 
kommt als Meldung "Query was empty" Aber wieso?


1. Datei:

<form name="datenaendern" method="post" action="index.php?id=<? echo $id ?>&pass=<? echo $pass ?>&fertig=yes">

....

<input type="submit" name="submit" value="Daten abändern"></form>

--------------------------------------------------------------------------------------------------------------------
2. Datei:

<?
if (isset($_POST['submit']))
{
$sql_kunde = mysql_query("UPDATE dslbestellung SET str1='".$_POST['str']."',hnr1='".$_POST['hnr']."',Plz1='".$_POST['Plz']."',ort1='".$_POST['ort']."',vorwahl1='".$_POST['vorwahl']."',rufnummer1='".$_POST['rufnummer']."',eMailadr1='".$_POST['eMailadr']."',ktoinhaber1='".$_POST['ktoinhaber']."',konto1='".$_POST['konto']."',BLZ1='".$_POST['BLZ']."',bank1='".$_POST['bank']."', where $id = ".$_POST['id'].";");

echo $sql_kunde."<br>";
$result = mysql_query($sql_kunde) or die(mysql_error ());
echo $result;
};
?>
 
Bitte benütz die [PHP][/PHP]-Tags um deinen Code (ohne Leerzeichen).

Nicht
PHP:
$sql_kunde = mysql_query("UPDATE ...");
echo $sql_kunde."<br>";
sondern
PHP:
$sql_kunde = "UPDATE ...";
echo $sql_kunde."<br>";

Ausserdem, zum 2. Mal wenn du die ID im <form> an die URL anhängst ist das eine $_GET['id'] und keine $_POST['id'].
 
Zuletzt bearbeitet:
Wenn der Thread ordentlich formatiert wäre würde ich sogar versuchen zu Helfen ---> PHP-Tags!

Aber so, werde ich mich nicht hinsetzen und versuchen das zu entschlüsseln!
 
Jetzt kommt ja was, aber noch nen Fehler:
Code:
UPDATE dslbestellung SET str1='Strasse',hnr1='1',Plz1='12345',ort1='Stadt',vorwahl1='01234',rufnummer1='12345678',eMailadr1='mail@domain.de',ktoinhaber1='Name',konto1='0123456789',BLZ1='11100011',bank1='Bank66', where id =20051012161017
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id =20051012161017' at line 1

Ach ja meine MySQL Version ist: 4.1.13

PHP:
$sql_kunde = "UPDATE dslbestellung SET str1='".$_POST['str']."',hnr1='".$_POST['hnr']."',Plz1='".$_POST['Plz']."',ort1='".$_POST['ort']."',vorwahl1='".$_POST['vorwahl']."',rufnummer1='".$_POST['rufnummer']."',eMailadr1='".$_POST['eMailadr']."',ktoinhaber1='".$_POST['ktoinhaber']."',konto1='".$_POST['konto']."',BLZ1='".$_POST['BLZ']."',bank1='".$_POST['bank']."', where id =$id";
 

Neue Beiträge

Zurück