Entwickler-Ecke

Datenbanken - Fehler bei Update einer Tabelle in PHP mit ODBC


Wolle92 - Fr 25.01.08 11:14
Titel: Fehler bei Update einer Tabelle in PHP mit ODBC
Hallo...
Ich versuche, eine Tabelle in ODBC mit PHP zu aktualisieren...
Leider bekomme ich bei diesem Code:

SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
$a = "Name";
  $b = "Vorname";
  $c = "Kuerzel";
  $d = "G_Krzl";
  $e = "Telefon";
  $f = "Mobile";
  $g = "Fax";
  $h = "Email";
  $i = "Bereich";
  $j = "Gebd_Raum";
  $k = "BereichKrz";
  $l = "Kostenstelle";
  $m = "Poststelle";
  $n = "TelVertr";
  $o = "Bemerkung";
  $p = "S_Krzl";
  @$query = "UPDATE Telefonbuch SET $a = ".$_POST[$a]." , $b = ".$_POST[$b]." , $c = ".$_POST[$c]." , $d = ".$_POST[$d]." , $e = ".$_POST[$e]." ,".
  " $f = ".$_POST[$f]." , $g = ".$_POST[$g]." , $h = ".$_POST[$h]." , $i = ".$_POST[$i]." , $j = ".$_POST[$j]." , $k = ".$_POST[$k]." , $l = ".$_POST[$l]." ,".
  " $m = ".$_POST[$m]." , $n = ".$_POST[$n]." , $o = ".$_POST[$o]." , $p = ".$_POST[$p]." WHERE ID = $_POST[$id]";
  odbc_exec($connection, $query) or die("Fehler beim Update...");


Die folgende Fehlermeldung:
Zitat:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Falsche Syntax in der Nähe von ','., SQL state 37000 in SQLExecDirect ...


Ich finde aber den Fehler einfach nicht...
Kann mir jemand helfen?


Sinspin - Fr 25.01.08 12:44

Ich würde den Fehler nicht im Script sondern in den Daten suchen. Kannst du dir den komplett zusammengestellten String ansehen? In dem ist irgend ein Zeichen drinne das die DB nicht erwartet. Zum Beispiel ein Komma zuviel das nicht in einem String steht, oder ein String der nicht als String markiert ist (in " / ' ein geschlossen)
Zudem kenne ich solche Fehler auch wenn der String eines Feldes länger ist als die maximal Länge an Zeichen die das Feld aufnehmen kann.