Datenbank updatet nicht

floMatic

Mitglied
Hi,
hab folgendes problem
ich arbeite gerade an einer simplen datenbank abfrage
vorher konnte ich sachen eintragen und auch ändern aber diese funktiniert nun leider nicht mehr
löschen kann ich sie aber weiterhin wunderbar.

code vom eintragen:
PHP:
if(isset($_REQUEST['insert'])) {
	$objekt = $_POST['objekt'];
	$strasse = $_POST['strasse'];
	$plz = $_POST['plz'];
	$ort = $_POST['ort'];
	$bundland = $_POST['bundland'];
	$tel= $_POST['tel'];
	$web = $_POST['web'];
	$change = $_POST['change'];
	$p001 = $_POST['p001'];
	$p002 = $_POST['p002'];
	$p003 = $_POST['p003'];
	$p004 = $_POST['p004'];
	$p005 = $_POST['p005'];
	$p006 = $_POST['p006'];
	$p007 = $_POST['p007'];
	$p008 = $_POST['p008'];
	$p009 = $_POST['p009'];
	$p010 = $_POST['p010'];
	$p011 = $_POST['p011'];
	$p012 = $_POST['p012'];
	$p013 = $_POST['p013'];
	$p014 = $_POST['p014'];
	$p015 = $_POST['p015'];
	$p016 = $_POST['p016'];
  
   $sql ="INSERT INTO wb_objekt set id=NULL, objekt='$objekt', strasse='$strasse', plz='$plz', ort='$ort', bundland='$bundland', tel='$tel', web='$web', change='$change', p001='$p001', p002='$p002', p003='$p003', p004='$p004', p005='$p005', p006='$p006', p007='$p007', p008='$p008', p009='$p009', p010='$p010', p011='$p011', p012='$p012', p013='$p013', p014='$p014', p015='$p015', p016='$p016' ";
   $res = mysql_query($sql, $dbverb);
   if($res == true) {
      $message = "<span id=\"message_true\">Das Einf&uuml;gen des neuen Liefergebietes<br> <b>". $objekt . " </b>war erfolgreich.</span>";
   }
   else {
      $message = "<span id=\"message_false\">Das Einf&uuml;gen des neuen Liefergebietes<br> <b>". $objekt . " </b>war nicht erfolgreich.</span>";
   }
   unset($_REQUEST['insert']);
}

und der code vom ändern:
PHP:
if(isset($_REQUEST['change'])) {
	$id = $_POST['id'];
	$objekt = $_POST['objekt'];
	$strasse = $_POST['strasse'];
	$plz = $_POST['plz'];
	$ort = $_POST['ort'];
	$bundland = $_POST['bundland'];
	$tel= $_POST['tel'];
	$web = $_POST['web'];
	$change = $_POST['change'];
	$p001 = $_POST['p001'];
	$p002 = $_POST['p002'];
	$p003 = $_POST['p003'];
	$p004 = $_POST['p004'];
	$p005 = $_POST['p005'];
	$p006 = $_POST['p006'];
	$p007 = $_POST['p007'];
	$p008 = $_POST['p008'];
	$p009 = $_POST['p009'];
	$p010 = $_POST['p010'];
	$p011 = $_POST['p011'];
	$p012 = $_POST['p012'];
	$p013 = $_POST['p013'];
	$p014 = $_POST['p014'];
	$p015 = $_POST['p015'];
	$p016 = $_POST['p016'];
   $sql ="UPDATE wb_objekt set id=$id, objekt='$objekt', strasse='$strasse', plz='$plz', ort='$ort', bundland='$bundland', tel='$tel', web='$web', change='$change', p001='$p001', p002='$p002', p003='$p003', p004='$p004', p005='$p005', p006='$p006', p007='$p007', p008='$p008', p009='$p009', p010='$p010', p011='$p011', p012='$p012', p013='$p013', p014='$p014', p015='$p015', p016='$p016' WHERE id=$id";
   $res = mysql_query($sql, $dbverb);
   if($res == true) {
      $message = "<span id=\"message_true\">Das &Auml;ndern des Liefergebietes <b>". $objekt . " </b>war erfolgreich.</span>";
   }
   else {
      $message = "<span id=\"message_false\">Das &Auml;ndern des Liefergebietes <b>". $objekt . " </b>war nicht erfolgreich.</span>";
   }
   unset($_REQUEST['insert']);
}

mal zum ergleich noch der funktionierende löschen code obwohls eigentlich das gleiche ist:
PHP:
if(isset($_REQUEST['delete'])) {
   $id = $_POST['id'];
   $objekt = $_POST['objekt'];
   $sql ="DELETE FROM wb_objekt WHERE id=$id";
   $res = mysql_query($sql, $dbverb);
   if($res == true) {
      $message = "<span id=\"message_true\">Das L&ouml;schen des Liefergebietes <b>". $objekt . " </b>war erfolgreich.</span>";
   }
   else {
      $message = "<span id=\"message_false\">Das  L&ouml;schen des Liefergebietes <b>". $objekt . " </b>war nicht erfolgreich.</span>";
   }
}

Danke schonmal
 
Sieh mal was du geschrieben hast, schon beim veränderten Code:

PHP:
$sql ="UPDATE wb_objekt set id=$id, objekt='$objekt',
etc.

Das bei id='$id' die Hochkomma fehlen, ist doch sicher nicht absicht?

LG
 
naja habs probiert lag leider nicht daran wobei id au eine zalh ist und die werden glaub ich nicht in klammern gesetzt schlag mich wenn ich mich täusche ^^
 
Zuletzt bearbeitet:
Int-Werte werden nicht geqoutet.

Ändere mal diese Zeilen:
PHP:
$res = mysql_query($sql, $dbverb);
so ab:
PHP:
if( !mysql_query( $sql ) )
{
    echo mysql_error();
}
Und poste die Fehlermeldungen.

* oder lass dir $sql per echo-Befehl ausgeben und teste das SQL Statement in PhpMyAdmin oder ähnlichem.
 
Zuletzt bearbeitet:
PHP:
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 'change='ändern', p001='1', p002='0', p003='1', p004='1', p005='1', p006='0', p00' at line 1

find ich komsich hab nähmlich nix mit umlauten drinne
 
Hi,

change ist ein reserviertes Wort in MySQL. Wenn Du das unbedingt als Spaltennamen verwenden musst, pack es in Backticks (`change`='...').

LG
 
Zurück