Seite 1 von 1

Probleme mit SQL syntax

Verfasst: 06.09.2006 11:27
von Buffy1
Hallo Zusammen

Also ich habe ein Script runtergeladen und komme nicht weiter würde aber gerne weiss aber nicht wohin .

Also das Prob ist Folgendes ich hab einen Kalender wo Mods sich ihre Termine Eintragen sollen mit Nick und Paswort das Funktioniert auch wenn derjenige aber Speichern möchte kommt folgende Fehler Meldung habs mal mit meinem Nick versucht als Beispiel

Code: Alles auswählen

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 'mod) VALUES ('Samstag','16','Buffy')' at line 1
so jetzt weiss ich aber nicht in welcher Datei dieser Befehl sich befindet habe nun mal die zwei wo ich denke das es das sein könnte genommen einmal die Install.php und einmal die edit.php

Auszug aus der Install.php

Code: Alles auswählen

<?php
include("config.php");
$config = mysql_connect($mysql_server, $mysql_user, $mysql_password) or die(mysql_error());
mysql_select_db($mysql_database, $config) or die(mysql_error());

$sql = "CREATE TABLE `sendeplan` (
  `day` varchar(10) NOT NULL default '',
  `time` varchar(5) NOT NULL default '',
  `mod` varchar(25) NOT NULL default ''
) TYPE=MyISAM;";
mysql_query($sql) OR die(mysql_error());
if($sql)
  {echo "Tabelle <i>sendeplan</i> erfolgreich eingerichtet !<br>";}else{echo "Tabelle <i>sendeplan</i> konnte nicht eingerichtet werden !<br>";}

$sql = "CREATE TABLE `user_rights` (
  `UserID` tinyint(4) NOT NULL default '0',
  `Recht` varchar(25) NOT NULL default ''
) TYPE=MyISAM;";
mysql_query($sql) OR die(mysql_error());
if($sql)
  {echo "Tabelle <i>user_rights</i> erfolgreich eingerichtet !<br>";}else{echo "Tabelle <i>user_rights</i> konnte nicht eingerichtet werden !<br>";}


$sql = "CREATE TABLE `users` (
  `id` tinyint(4) NOT NULL auto_increment,
  `user` varchar(25) NOT NULL default '',
  `password` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2;";
mysql_query($sql) OR die(mysql_error());
if($sql)
  {echo "Tabelle <i>users</i> erfolgreich eingerichtet !<br>";}else{echo "Tabelle <i>users</i> konnte nicht eingerichtet werden !<br>";}
$sql = "INSERT INTO `user_rights` VALUES (1, 'Admin');";
mysql_query($sql) OR die(mysql_error());
if($sql)
  {echo "Recht: <i>Admin</i> erfolgreich eingetragen !<br>";}else{echo "Recht: <i>Admin</i> konnte nicht eingetragen werden !<br>";}
$sql = "INSERT INTO `user_rights` VALUES (1, 'Moderator');";
mysql_query($sql) OR die(mysql_error());
if($sql)
und einmal die edit.php

Code: Alles auswählen

<?php
$rights = getRights();
if(!in_array("Moderator", $rights)) {
  no_rights();
  } else
  {
if(isset($_POST['submit']) && "save" == $_POST['submit'])
  {
   $sql = "DELETE FROM sendeplan WHERE day = '".$_POST['day']."' AND time = '".$_POST['time']."'";
   mysql_query($sql) OR die(mysql_error());
   $sql = "INSERT INTO sendeplan (day,time,mod) VALUES ('".$_POST['day']."','".$_POST['time']."','".addslashes(htmlspecialchars($_POST['mod']))."')";
   mysql_query($sql) OR die(mysql_error());
   echo "<br>$font2 Daten erfolgreich gespeichert.";
  }
   else
  {
   if(isset($_POST['submit']) && "edit" == $_POST['submit'])
     {
      $sql    = "SELECT * FROM sendeplan WHERE day = '".$_POST['day']."' AND time = '".$_POST['time']."'";
      $result = mysql_query($sql) OR die(mysql_error());
      $row    = mysql_fetch_assoc($result);
      echo "
      <form action='show.php?section=edit' method='post'>
      <br>$font2 Tag : <input type='text' name='day' value='".$_POST['day']."'></input>
      <br>Zeit : <input type='text' name='time' value='".$_POST['time']."'></input>
      <br>Moderator: <input type='text' name='mod' value='".stripslashes($row['mod'])."'></input>
      <br><br><input type='submit' name='submit' value='save'></input></form>";
     }
      else
     {
      if(isset($_POST['submit']) && "GO" == $_POST['submit'])
        {
         echo "
         <form action='show.php?section=edit' method='post'>
         <input type='hidden' name='day' value='".$_POST['day']."'></input>
         <br>$font2 Tag : <input type='text' name='day' value='".$_POST['day']."'></input>
         <br>Zeit : <select name='time'>";
         $time = "0";
         while($time < 24)
              {
               if($time < 10)
                 {
                  $time2 = "0$time";
                 }
                  else
                 {
                  $time2 = "$time";
                 }
               echo "
               <option value='$time'>$time2</option>";
               $time++;
              }
         echo "</select>
         <br><br><input type='submit' name='submit' value='edit'></input></form>";
        }
         else
        {
         echo "
         <form action='show.php?section=edit' method='post'>
         <br>$font2 Tag :
         <select name='day'>
         <option value='Samstag'>Samstag</option>
         <option value='Sonntag'>Sonntag</option>
         <option value='Montag'>Montag</option>
         <option value='Dienstag'>Dienstag</option>
         <option value='Mittwoch'>Mittwoch</option>
         <option value='Donnerstag'>Donnerstag</option>
         <option value='Freitag'>Freitag</option>
         </select>
         <br><br><input type='submit' name='submit' value='GO'></input></form>";
        }
      }
   }
}
?>
Vorweg ich weiss Leider nicht wie man auf PhpAdmin Tabellen schreibt oder was man da fummeln muss ich habs mir angeschaut aber Trau mich nicht wirklich da was zu verändern weiss jemand Rat oder kann mir eine gute Seite Empfehlen wo ich nachlesen könnte wie man das ganze Manuell im Sql machen kann wenn es den dann der Fehler wäre

Danke[/code]

Verfasst: 06.11.2007 00:40
von Slycom
Hi. Vielleicht wäre ja auch folgendes für Dich interessant:

Sendeplan

LG Sly

Verfasst: 06.11.2007 02:33
von capsaicin
Zur Fehlermeldung:
Die bezieht sich auf die Datenbank, nicht auf PHP-Dateien.

Verlinke mal den Mod, so weiß man leider nicht, welchen du überhaupt meinst ;)

Hast du die Install.php hochgeladen und ausgeführt?

Verfasst: 06.11.2007 11:49
von Helmut
Hallo capsaicin,

der Fehler könnte sowohl in der Tabelle als auch in der edit.php bzw. in einer Datei welche die Werte für die sql Anweisung liefert, liegen.

Die Install.php hat er bestimmt ausgeführt da sonst eine Fehlermeldung gekommen wäre, dass er die Tabelle nicht findet.

Der Fehler muss wohl in der Anweisung

Code: Alles auswählen

$sql = "INSERT INTO sendeplan (day,time,mod) VALUES ('".$_POST['day']."','".$_POST['time']."','".addslashes(htmlspecialchars($_POST['mod']))."')";

zu suchen sein, was die Fehlermeldung ja aussagt.

@Buffy1
Ersetze mal sendeplan (day,time,mod) mit sendeplan (day, time, mod), könnte sein, dass die fehlenden Leerzeichen dazwischen der Fehler ist.

Gruß Helmut