insert schlägt fehl

hikeda_ya

Erfahrenes Mitglied
Servus,

kann mir jemand erklären wo da der Fehler sitzt


die Befehle
PHP:
<input type="hidden" name="Firmen_ID[]" value="'.$row['Firmen_ID'].'" <br />
und Folgeseite
PHP:
foreach ($_REQUEST['Firmen_ID'] as $key => $value) 
  {
$$key =  $value;

$ins = mssql_query("insert into auswahl2 (Firmen_ID) values ( $value) ");
}

Funktionieren

nur wenn ich
PHP:
<input type="hidden" name="Firmen_ID[]" value="x'.str_pad($row['Firmen_ID'], 10, "0", STR_PAD_LEFT).'" <br />

mit
PHP:
<input type="hidden" name="Firmen_ID[]" value="'.$row['Firmen_ID'].'" <br />
und Folgeseite
PHP:
foreach ($_REQUEST['Firmen_ID'] as $key => $value) 
  {
$$key =  $value;

$ins = mssql_query("insert into auswahl2 (Firmen_ID) values ( $value) ");
}
einfüge um die Führungsnullen mit nem x000zu bekommen

bekomme ich die Fehlermeldung

Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\php\wlw_auswahl3.php on line 20

Warning: mssql_query() [function.mssql-query]: message: Der Name 'x0000130990' ist in diesem Kontext nicht zulässig. Nur Konstanten, Ausdrücke und Variablen sind hier zulässig. Spaltennamen sind nicht zulässig. (severity 15) in C:\Inetpub\php\wlw_auswahl3.php on line 20
 
ich habe es auch schon probiert mit

PHP:
foreach ($_REQUEST['Firmen_ID'] as $key => $value) 
  {
$$key = (string)  $value;

aber auch ohne Erfolg.

das MSSQL Feld heisst

Firmen_ID (varchar, 255)

var_dump zeigt eindeutig die Zeichenkette z.BSP 0000471100an - doch in der Spalte kommt nur 471100 an.

bei Variante 2

erscheint auch x0000471100 doch dann die Fehlermeldung
 
Zuletzt bearbeitet:
das kommt im Browserfenster an:


array(1) { ["Firmen_ID"]=> array(54784) { [0]=> string(11) "x0000115099" [1]=> string(11) "x0000313437"
........
[54783]=> string(11) "x0000526761" } }
Warning: mssql_query() [function.mssql-query]: message: Der Name 'x0000115099' ist in diesem Kontext nicht zulässig. Nur Konstanten, Ausdrücke und Variablen sind hier zulässig. Spaltennamen sind nicht zulässig. (severity 15) in C:\Inetpub\php\inc\wlw.php on line 23

Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\php\inc\wlw.php on line 23


......
 
OK ich erkläre mich hiermit Feierlich als PHP - DAU!


PHP:
oreach ($_REQUEST['Firmen_ID'] as $key => $value) 
  {
$$key =  $value;

$ins = mssql_query("insert into auswahl2 (Firmen_ID) values ( ' $value ' ) ");
}

was nich 2 so kleine ' ausmachen können :-(
 
Zurück