Unknown column 'NACHNAME' in 'field list'

Maibru

Newbie
Registriert
Sep. 2006
Beiträge
3
Hallo,

ich habe folgendes Problem. Ich möchtes etwas in eine DB eintragen und erhalte die Fehlermeldung: Unknown column 'NACHNAME' in 'field list'
Mein Script sieht folgendermaßen aus:
PHP:
// Termin speichern || a = neu_s
if ((isset($_GET['a'])) && ($_GET['a'] == 'neu_s')) {
   if ($user->getBgId() >= 2) {
//      $sql = "SELECT USER_ID,VORNAME,NACHNAME,TEL_NO FROM BENUTZER";
//      $sql .= " ORDER BY NACHNAME";
//      $db->openRecordset($sql);
//      $besucherArray = $db->getResultStd();

      $sql = "SELECT NACHNAME,VORNAME,TELEFON FROM TERMINE_BESUCHER_TEMP WHERE ID_EINTRAGER = ".$user->getUserId();
      $db->openRecordset($sql);
      $besucherArray = $db->getResultStd();

//      $sql  = "SELECT USER_ID,VORNAME,NACHNAME,TEL_NO FROM BENUTZER";
//      $sql .= " ORDER BY NACHNAME";
//      $db->openRecordset($sql);
//      $verantwortlicherArray = $db->getResultStd();

      $sql  = "SELECT USER_ID,VORNAME,NACHNAME,TEL_NO FROM BENUTZER WHERE USER_ID = ".$_POST['verantwortlicher'];
      $db->openRecordset($sql);
      $verantwortlicherArray = $db->getResultStd();

      $sql = "SELECT ID,NAME FROM BEREICH";
      $db->openRecordset($sql);
      $bereichArray = $db->getResultStd();

      if (empty($_POST['datum'])) {
         $saveNeu = 3;
         include("./content/tv/neu.php");
         exit;
      }
      if (empty($_POST['grund'])) {
         $saveNeu = 4;
         include("./content/tv/neu.php");
         exit;
      }
      
      $topic = "Bestätigen";

      if ((isset($_POST['insert_check'])) && ($_POST['insert_check'] == "go")) {
         $datum = explode('+',$_POST['datum']);
         $aktZeit = time();
         for ($i=1;isset($datum[$i]);$i++) {
            $stime = strtotime($datum[$i]) + ($_POST['stunde_kommen'] * 60 * 60) + ($_POST['minute_kommen'] * 60);
            $etime = strtotime($datum[$i]) + ($_POST['stunde_gehen'] * 60 * 60) + ($_POST['minute_gehen'] * 60);
            
            $sqlDauer  = "INSERT INTO DAUER(STIME,ETIME) VALUES(".$stime.",".$etime.")";
            $db->executeQuery($sqlDauer);
   
            $sqlTermin  = "INSERT INTO TERMINE(BESUCHER_ID,VERANTWORTLICHER_ID,DAUER_ID,GRUND,BEREICH_ID,EINTRAGER_ID,EINTRAG_DATUM,WEITERLEITER_ID,WEITERLEITER_DATUM) VALUES(";
            $sqlTermin .= $user->getUserId();
            $sqlTermin .= ",".$_POST['verantwortlicher'];
            $sqlTermin .= ",".$db->getInsertID();
            $sqlTermin .= ",'".$_POST['grund']."'";
            $sqlTermin .= ",".$_POST['bereich'];
            $sqlTermin .= ",".$user->getUserId();
            $sqlTermin .= ",".$aktZeit;
            $sqlTermin .= ",".$user->getUserId();
            $sqlTermin .= ",".$aktZeit;
            $sqlTermin .= ")";
            $db->executeQuery($sqlTermin);
            
            $id = $db->getInsertID();
            
            $sql = "SELECT * FROM TERMINE_BESUCHER_TEMP WHERE ID_EINTRAGER = ".$user->getUserId();
            $db->openRecordset($sql);
            $tempBesucher = $db->getResultStd();

            foreach ($tempBesucher as $val) {
               $sql = "INSERT INTO TERMINE_BESUCHER(TERMINE_ID,NACHNAME,VORNAME,TELEFON";
               $sql .= ") VALUES (".$id.",'".$val['NACHNAME']."'";
               if (isset($val['VORNAME'])) $sql .= ",'".$val['VORNAME']."'"; else $sql .= ",NULL";
               if (isset($val['TELEFON'])) $sql .= ",'".$val['TELEFON']."'"; else $sql .= ",NULL";
               $sql .= ")";
               $db->executeQuery($sql);
               
            }
         }
         $sql = "DELETE FROM TERMINE_BESUCHER_TEMP WHERE ID_EINTRAGER = ".$user->getUserId();
         $db->executeQuery($sql);

         $topic = '<img src="images/new.gif" border="0"><br /><br />Termin angelegt<br /><br />';
      }
      include("./content/tv/neu_s.php");
   } else {
      echo alarm("Zuerst einloggen");      
      exit;
   }
}


bzw.:
PHP:
  function openRecordset($DbQuery) {
     print ( "<BR>".$DbQuery."<BR>");
                $this->RecordSet = mysql_query ($DbQuery, $this->DbHandle);
                if (!$this->RecordSet) {
                        die ("ERROR: DB-Fehler".mysql_error());
                } else {
                        $Arr=mysql_fetch_array($this->RecordSet);
                        if (is_array($Arr)) {
                                $temp = @array_keys($Arr);
                                for ($i=0; $i<(count($temp)/2); $i++){
                                        $this->Attributes[$i] = $temp[($i*2+1)];
                                }
                        } else {
                                $this->Attributes=false;
                        }
                        $this->FieldCount = mysql_num_fields($this->RecordSet);
                        $this->RowCount = mysql_num_rows($this->RecordSet);
                        return $this->RecordSet;
                }
        }
Ich habe schon einige Zeit rumprobiert und kann nichts finden. Ich meine auf php4 lief es, seit der Server auf PHP5 umgestellt wurde gibt es meines wissens diese Fehlermeldung.
Kann da jemand helfen?
 
Zuletzt bearbeitet von einem Moderator: ([php]-Forentags ergänzt)
wenn ich das hier richtig verstehe, dann versuchst du mit php auf eine SQL DB zu zu greifen?
wenn ja, welches SQL? MySQL, PostGreSQL, SQL?
und wenn das der gesammte Quellcode ist dann fehlt der connection string, auser ich habe ihne übersehen.
hier sind alle connectionstrings aller DB's
http://www.connectionstrings.com/


PS: mit PHP5 müsste, wenn ich mich jetzt nicht irre, in der php.ini eine Sicherheits Eintrag sein, der das Problem möglicherweise verursacht
 
Zuletzt bearbeitet:
Die Verbindung zur DB funktioniert. bekomme ja sonst bei anderen Abfragen keine Fehlermeldung.
Die Connection handel ich woanders ab.
 
Wie die Fehler Meldung ja schon sagt, existiert in einer deiner Tabellen BENUTZER, BESUCHER, TERMINE_BESUCHER oder TERMINE_BESUCHER_TEMP.

Da würde ich erstmal nachschauen...

Das habe ich auch ab und zu. Hast du die Tabellen neu anlegen müssen?

Overon
 
overon schrieb:
Wie die Fehler Meldung ja schon sagt, existiert in einer deiner Tabellen BENUTZER, BESUCHER, TERMINE_BESUCHER oder TERMINE_BESUCHER_TEMP.

Da würde ich erstmal nachschauen...

Das habe ich auch ab und zu. Hast du die Tabellen neu anlegen müssen?

Overon

Ich musste die Tabellen nicht neu anlegen, am DB Design wurde nichts geändert.
 

Ähnliche Themen

E
Antworten
6
Aufrufe
4.544
E
Zurück
Oben