problem beim update

hikeda_ya

Erfahrenes Mitglied
Hallo Leute,

ich schon wieder.

Ich habe ein Formular das ich an eine zweite Seite übergebe in der dann Daten in einer MS-SQL DB upgedatet werden sollen.

Die Daten werden alle übergeben und auch richtig ausgewertet. Nur bekomm ich bei meinem Update Befehl noch eine Fehlermeldung die ich nicht verstehe (bzw. nicht weiss was mir da PHP sagen will)

Das PHP
PHP:
error_reporting(E_ALL);
  include 'inc/config.php';


 $db=mssql_connect(MSSQL_HOST, MSSQL_USER, MSSQL_PASS) OR
    die("Keine Verbindung zur Datenbank. Fehlermeldung:".mssyl_error());
  $db=mssql_select_db(MSSQL_DATABASE) OR
    die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mssyl_error());
    
    var_dump($_REQUEST) ;
    
         
                                   
                                   
           $query = mssql_query("update kdzusatz 
           set selekt1 = ".$_REQUEST['selekt1'], 
           "set selekt2 =".$_REQUEST['selekt2'], 
           "set selekt3 =".$_REQUEST['selekt3'], 
           "set selekt4 =".$_REQUEST['selekt4'], 
           "set selekt5 =".$_REQUEST['selekt5'], 
           "set selekt6 =".$_REQUEST['selekt6'], 
           "set selekt7 =".$_REQUEST['selekt7'], 
           "set selekt8 =".$_REQUEST['selekt8'], 
           "set selekt9 =".$_REQUEST['selekt9'], 
           "set selekt10 =".$_REQUEST['selekt10'], 
           "set selekt11 =".$_REQUEST['selekt11'], 
           "set selekt12 =".$_REQUEST['selekt12'], 
           "set selekt13 =".$_REQUEST['selekt13'], 
           "set selekt14 =".$_REQUEST['selekt14']
           "where kundennummer = ".$_REQUEST['kundennummer']" and freienummer = ".$_REQUEST['freienummer']");

und die Fehlermeldung
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Inetpub\php\textauswahl3.php on line 34

Line 34 ist die Where Zeile
 
Nicht nur in der angegebenen Zeile ist der Fehler zu suchen. Du hast zwar vor jedem $_REQUEST[] einen . gesetzt, aber nicht dahinter.
 
Probier einmal so:


PHP:
<?php 

      //Sollten die Daten mit einem Formular gesendet werden benutze lieber "$_POST"! 
      //Bei Übertragungung mit einem Link "$_GET".


      $query = mssql_query("UPDATE 
                                    `kdzusatz` 
                            SET 
                                    `selekt1` = '".mysql_real_escape_string($_POST['selekt1'])."',
                                    `selekt2` ='".mysql_real_escape_string($_POST['selekt2']))."', 
                                    `selekt3` ='".mysql_real_escape_string($_POST['selekt3']."', 
                                    `selekt4` ='".mysql_real_escape_string($_POST['selekt4'])."', 
                                    `selekt5` ='".mysql_real_escape_string($_POST['selekt5'])."', 
                                    `selekt6` ='".mysql_real_escape_string($_POST['selekt6'])."', 
                                    `selekt7` ='".mysql_real_escape_string($_POST['selekt7'])."', 
                                    `selekt8` ='".mysql_real_escape_string($_POST['selekt8'])."', 
                                    `selekt9` ='".mysql_real_escape_string($_POST['selekt9'])."', 
                                    `selekt10` ='".mysql_real_escape_string($_POST['selekt10'])."', 
                                    `selekt11` ='".mysql_real_escape_string($_POST['selekt11'])."', 
                                    `selekt12` ='".mysql_real_escape_string($_POST['selekt12'])."', 
                                    `selekt13` ='".mysql_real_escape_string($_POST['selekt13'])."', 
                                    `selekt14` ='".mysql_real_escape_string($_POST['selekt14'])."'         
                            WHERE 
                                    `kundennummer` = '".$_POST['kundennummer']."' 
                            AND     
                                    `freienummer` = '".$_POST['freienummer']."'
                            "; 


 ?>
 
Danke für Deine schnelle Hilfe,

MSSQL kennt nur leider den Befehl

mssql_real_escape_string

nicht.

ich musste es auf folgenden code abändern:

PHP:
 $query=mssql_query("UPDATE 
                                    `kdzusatz` 
              SET 
              `selekt1` ='".($_REQUEST['selekt1'])."',
              `selekt2` ='".($_REQUEST['selekt2'])."', 
              `selekt3` ='".($_REQUEST['selekt3'])."', 
              `selekt4` ='".($_REQUEST['selekt4'])."', 
              `selekt5` ='".($_REQUEST['selekt5'])."', 
              `selekt6` ='".($_REQUEST['selekt6'])."', 
              `selekt7` ='".($_REQUEST['selekt7'])."', 
              `selekt8` ='".($_REQUEST['selekt8'])."', 
              `selekt9` ='".($_REQUEST['selekt9'])."', 
              `selekt10` ='".($_REQUEST['selekt10'])."', 
              `selekt11` ='".($_REQUEST['selekt11'])."', 
              `selekt12` ='".($_REQUEST['selekt12'])."', 
              `selekt13` ='".($_REQUEST['selekt13'])."', 
              `selekt14` ='".($_REQUEST['selekt14'])."'         
              WHERE 
              `kundennummer` = '".$_REQUEST['kundennummer']."' 
              AND     
              `freienummer` = '".$_REQUEST['freienummer']."'");


Die Arrys werden mir jetzt wieder angezeigt - doch noch folgende Fehlermeldung ist zu sehen:


Warning: mssql_query() [function.mssql-query]: message: Zeile 2: Falsche Syntax in der Nähe von '`'. (severity 15) in C:\Inetpub\php\textauswahl3.php on line 40

Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\php\textauswahl3.php on line 40
 
Passt schon hast mir ja dennoch gut weitergeholfen.
Hab den query richtig geschrieben.

Und Dank Dennis Wronka auch die letzte Fehlerquelle ausgemerzt
 
Zurück