tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
629
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    matty2k matty2k ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    Hallo zusammen,

    eventuell kann mir jemand von euch bei meinem Datenbankscript weiterhelfen. Ich bekomme immer eine Fehlermeldung die folgendermaßen aussieht:

    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 ')' at line 22

    Allerdings steht in der zeile 22 gar nichts! Wo könnte der Fehler liegen? Ich Poste mal den Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    
       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
       <html>
       <head>
       <title>Registrierung</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
       <style type="text/css">
       <!--
       body {
        background-color: #CCCCCC;
       }
       -->
       <link href="../CSS/navi.css" rel="stylesheet" type="text/css">
       <style type="text/css">
       <!--
       .Stil1 {font-size: 26px}
       a:visited {
        color: #000066;
       }
       -->
       </style>
       
       <link href="../../CSS/navi.css" rel="stylesheet" type="text/css">
       </head>
       
       <body>
       
       <?php
        //Verbindung zur DB Herstellen und Fehlerausgabe
        error_reporting(E_ALL);
       
        include 'konstante_chars.php';
        // Konfigurationsdatei laden
       
        if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
            die("Es konnte keine Verbindung zur Datenbank aufgebaut werden. Bitte versuchen Sie es später erneut.");
        }
       
        echo "Verbindung wurde aufgebaut<br />\n";
       
        if(!mysql_select_db(MYSQL_DATABASE)) {
            die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
        }
       
        echo "Die Datenbank wurde ausgewählt";
       
        // Hier kann man jetzt MySQL-Querys senden
        
        
       ?>
       
       <?php
       //Die Formulardaten werden mit diesem Script in die DB geschrieben
       if(!empty($_POST))
       {
       $sql = "INSERT INTO  gruenderwettbewerb
       (
       Vorname,
       Name,
       Straße,
       Hausnummer,
       Wohnort,
       Postleitzahl,
       eMail,
       radiobutton
       )
       VALUES
       (
       '" . addslashes($_POST["Vorname"]) . "',
       '" . addslashes($_POST["Name"]) . "',
       '" . addslashes($_POST["Straße"]) . "',
       '" . addslashes($_POST["Hausnummer"]) . "',
       '" . addslashes($_POST["Wohnort"]) . "',
       '" . addslashes($_POST["Postleitzahl"]) . "',
       '" . addslashes($_POST["eMail"]) . "',
       '" . addslashes($_POST["radiobutton"]) . "',
       )
       ";
       mysql_query($sql) OR die(mysql_error());
       
       
       exit;
       }
       ?> 
       
       
       <form name="form1" method="post" action="">
         <table width="80%"  border="0">
        <tr>
          <td width="15%"><h1 class="fett_gro&szlig;">&nbsp;</h1></td>
         <td width="85%"><h1 class="mediumfett">Um Ihre Daten f&uuml;r uns zu erfassen, f&uuml;llen Sie bitte die folgende Felder aus und klicken auf absenden. </h1></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="35" align="left" valign="middle" class="main_klein">Vorname</td>
         <td valign="middle" class="main_klein"><input name="Vorname" type="text" id="Vorname"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="36" align="left" valign="middle" class="main_klein">Name</td>
         <td valign="middle" class="main_klein"><input name="Name" type="text" id="Name"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="33" align="left" valign="middle" class="main_klein">Stra&szlig;e</td>
         <td valign="middle" class="main_klein"><input name="Stra&szlig;e" type="text" id="Stra&szlig;e"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="32" align="left" valign="middle" class="main_klein">Hausnummer</td>
         <td valign="middle" class="main_klein"><input name="Hausnummer" type="text" id="Hausnummer"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="32" align="left" valign="middle" class="main_klein">Wohnort</td>
         <td valign="middle" class="main_klein"><input name="Wohnort" type="text" id="Wohnort"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="32" align="left" valign="middle" class="main_klein">Postleitzahl</td>
         <td valign="middle" class="main_klein"><input name="Postleitzahl" type="text" id="Postleitzahl"></td>
        </tr>
        <tr align="left" valign="top" class="main">
          <td height="32" align="left" valign="middle" class="main_klein">eMail</td>
         <td valign="middle" class="main_klein"><input name="eMail" type="text" id="eMail"></td>
        </tr>
        <tr align="left" valign="middle" class="main">
          <td class="main_klein">bereits gegr&uuml;ndet </td>
         <td class="main_klein"><input type="radio" name="radiobutton" value="Ja">      
            JA 
            
              <input name="radiobutton" type="radio" value="Nein" checked>
          Nein</td>
        </tr>
        <tr class="main">
          <td height="35">&nbsp;</td>
         <td class="main"><input name="Absenden" type="submit" id="Absenden" onClick="MM_validateForm('Vorname','','R','Name','','R','Stra&szlig;e','','R','Hausnummer','','RisNum','Wohnort','','R','Postleitzahl','','RisNum','eMail','','RisEmail');MM_goToURL('main','../wettbewerbsunterlagen/wettbewerb.htm');return document.MM_returnValue" value="Absenden"> 
          </td>
        </tr>
         </table>
       </form>
       <p>&nbsp;</p>
       </body>
       </html>

    Das sollte doch nur ein kleiner Fehler sein, den ich übersehen habe, denn Datenbankverbindung wird hergestellt und die DB wird auch korrekt ausgewählt.
    Die Line 22 ist genau unter dieser Stelle hier:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
      <link href="../CSS/navi.css" rel="stylesheet" type="text/css">
      <style type="text/css">
      <!--
      .Stil1 {font-size: 26px}
      a:visited {
        color: #000066;
      }
      -->
      </style>

    Besten Dank im Vorraus.

    Matty
     

  2. #2
    yson yson ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    94
    mit "line 22" ist nicht die Zeile in deinem Script gemeint, sondern die Zeile deiner
    Datenbankabfrage. Du hast dort vor der schließenden Klammer ein Komma zuviel.

    Gruß
    yson
     

  3. #3
    matty2k matty2k ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    OK,

    danke für die super schnelle Antwort!
    Eventuell kannst du mir noch schnell sagen wie man den Radiobutton bzw dessen Status in die DB bekommt. Also wie muss ich den Abfragen und welche Eigenschaften muss das Datenbankfeld auf dem Server haben? Da kommt dann nämlich diese Meldung:

    Unknown column 'radiobutton' in 'field list'

    Dann hab ich es endlich geschafft. Diese Datebnak hat mich schon lange beschäftigt

    mfG

    Matty
     

  4. #4
    yson yson ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    94
    Zitat Zitat von matty2k
    Unknown column 'radiobutton' in 'field list'
    Diese Zeile sagt aus, dass es die Spalte 'radiobutton' nicht in der Tabelle gibt,
    in die du einen Datensatz einfügen willst. Die müsstest du also erstmal anlegen.
    Welche Eigenschaften das Feld in der Datenbank braucht, liegt daran, was für
    Daten du übergibst. Wenn du "ja" oder "nein" eintragen willst, nimmst du
    varchar(4). Allerdings würde ich empfehlen statt "ja" 1 und statt "nein" 0 zu
    übergeben und dann tinyint(1) zu verwenden.
     

  5. #5
    matty2k matty2k ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    OK,

    ich danke euch für die schnellen und hilfreichen Antworten. Ich hatte für die Buttons nicht den entsprechenden Namen in der Tabelle, daher gab es Probleme. Ein weiteres Problem welches mich derzeit beschäftigt, ist die Weiterleitung innerhalb des MainFrames auf eine andere Seite, nach dem Senden der Daten über den Senden Button.

    Hier kann man ja die Eigenschaften festlegen, was passieren soll, bzw. OnClick. Dort habe ich dann folgendes eingetragen, damit die Seite auch im MainFrame geöffnet wird.

    Code :
    1
    
      MM_goToURL('parent.frames[\'mainFrame'\]','../wettbewerbsunterlagen/wettbewerb.htm')

    Leider funktioniert es nicht. Es wird nur eine leere Seite, immerhin im MainFrame angezeigt. Schreibe ich dort lediglich folgendes hinein:

    Code :
    1
    
      MM_goToURL('parent','../wettbewerbsunterlagen/wettbewerb.htm')

    wird die neue Seite zwar geladen, aber leider nur komplett und nicht innerhalb des Frames. Ich habe auch bereits die andere Mthode getestet, indem ich eine Weiterleitung mit PHP Header durchführe. Hierbei kommt es aber immer zu einer Fehlermeldung. Das sah dann im Code folgendermaßen aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
      VALUES
      (
      '" . addslashes($_POST["Vorname"]) . "',
      '" . addslashes($_POST["Name"]) . "',
      '" . addslashes($_POST["Straße"]) . "',
      '" . addslashes($_POST["Hausnummer"]) . "',
      '" . addslashes($_POST["Wohnort"]) . "',
      '" . addslashes($_POST["Postleitzahl"]) . "',
      '" . addslashes($_POST["eMail"]) . "'
      )
      ";
      mysql_query($sql) OR die(mysql_error());
      header('Location: http://www.zielseite.de');
      exit;
      }
      ?>
    Aber anscheinend wird vorher irgendetwas ausgegeben. Vielleicht kann mir da noch jemand helfen. Dann hoffe ich tatsächlich damit durch zu sein.

    Vielen Dank an alle.

    Euer Matty
     

  6. #6
    yson yson ist offline Mitglied Silber
    Registriert seit
    Apr 2003
    Beiträge
    94
    dein Quoting ist falsch. Du hast deinen Backslash vor der eckigen Klammer.
    Es muss aber vor das Hochkomma.

    Code :
    1
    
    MM_goToURL('parent.frames[\'mainFrame'\]','../wettbewerbsunterlagen/wettbewerb.htm')

    Code :
    1
    
    MM_goToURL('parent.frames[\'mainFrame\']','../wettbewerbsunterlagen/wettbewerb.htm')
     

  7. #7
    matty2k matty2k ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    Ja OK,

    soweit habe ich den Code hier mal geändert,
    es wird eine neue aber leere Seite im Main Frame angezeigt.
    Zumindest im FireFox.

    Allerdings bekomme ich im InternetExplorer eine Fehlermeldung.
    Die folgendermaßen aussieht:

    Es ist ein Laufzeitfehler aufgetreten.
    Soll der Debugmodus gestartet werden?
    Zeile 35
    Fehler: Parentz.Frames.MainFrame ist Null oder kein Objekt

    Tja, das ist natürlcih irgendwie komisch. Eventuell sollte ich noch erwähnen,
    dass es sich um ein verschachteltes Frameset handelt, damit die Seite immer
    mittig angezeigt wird.

    mfG

    Matty
     

  8. #8
    matty2k matty2k ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    Hallo zusammen,

    nochmals besten Dank für eure Hilfe,
    jedenfalls hab ich jetzt die Seite nochmal komplett geupped
    und es funktioniert alles so wie ich es mir vorgestellt hatte.
    Wo der Fehler nun genau lag, kann ich nicht mehr nachvollziehen.

    mfG


    Matty
     

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 04.11.05, 15:05
  2. Antworten: 2
    Letzter Beitrag: 31.08.05, 12:55
  3. Eintrag in MySQL-Datenbank
    Von Sandra_S im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.02.04, 16:27
  4. Anfrage und Eintrag in MySql Datenbank
    Von PowerCheat im Forum PHP
    Antworten: 2
    Letzter Beitrag: 07.12.03, 22:26
  5. Eintrag in eine MySQL Datenbank
    Von tom_ im Forum PHP
    Antworten: 2
    Letzter Beitrag: 13.01.02, 23:44