Ankündigung

Einklappen
Keine Ankündigung bisher.

Bei Eintrag in DB immer Fehler...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bei Eintrag in DB immer Fehler...

    Hi,
    ich versuche schon seit langem folgendes Problem zu lösen:

    Ich habe ein Script geschrieben, mit dem man via Forumular eine neue Seiteanlegen kann, und diese wird dann samt inhalt auch in der DB gespeichert..., nun kommt aber immer ein SQL Fehler zurück wie dieser:

    Konnte den Folgenden Query nicht senden:
    INSERT INTO tut_photoshop(datum, titel, stufe, autor, autormail, text, zeit, link, show) VALUES ('23:12', 'Test-Tut', 'leicht', 'Klener', 'klener[at]fidus-gfx.de', 'Dies ist ein Test-Tutorial :P', '1 min', 'Test-Tut11718423379471927.php', '0')
    Fehlermeldung:
    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 'show) VALUES ('23:12', 'Test-Tut', 'leicht' at line 2
    Hier ist der code:
    (Copyright by Klener, d.h. kopieren nicht erlaubt )
    PHP-Code:
    <?php
    // insert_tut.php //

    /* includes  START */
    include 'config.php';
    /* includes STOP */

    /* Variablen für Tutorial START */
    $tut_name $_POST[titel];
    $tut_kate $_POST[kategorie];
    $tut_text $_POST[besch];
    $tut_stufe $_POST[stufe];
    $tut_zeit $_POST[zeit];
    /* Variablen für Tutorial ENDE */
    /* Variablen für Autor START */
    $autor_name $_POST[autor];
    $autor_mail $_POST[email];
    /* Variablen für Autor ENDE */

    /* Autor-emaillink erstellen  START */
    if(!($autor_mail == "")){
    $mailto2 '">'.$autor_name;
    $mailto3 '</a>';
    $mailto '<a href="mailto:'.$autor_mail.$mailto2.$mailto3;
    } else {
    $mailto "";
    }
    /* Autor-emaillink erstellen  ENDE */
    /* Kategorie für Tutorial finden START */
    if($tut_kate == "tut_photoshop") {
    $tabelle "tut_photoshop";
    } else if(
    $tut_kate == "tut_php") {
    $tabelle "tut_php";
    } else if(
    $tut_kate == "tut_html") {
    $tabelle "tut_html" ;
    } else if(
    $tut_kate == "tut_css") {
    $tabelle "tut_css";
    } else if(
    $tut_kate == "tut_gimp") {
    $tabelle "tut_gimp";
    } else if(
    $tut_kate == "tut_javascript") {
    $tabelle "tut_javascript";
    } else {
    echo 
    'keine Kategorie gewählt!';
    }
    /*Kategorie für Tutorial ENDE */

    /* Linkname START */
    $tutpage_name $tut_name.rand(10000,99999999).rand(100000,99999999999);
    /* Linkname ENDE */

    /* Zeit START */
      
    $timestamp time();
      
    $datum date("d.m.Y",$timestamp);
      
    $uhrzeit date("H:i",$timestamp);
      
    /* Zeit ENDE */
      
    /* Autorenname = ? = Unbekannt */
    if($autor_name == "") {
    $autor_name "Unbekannt" ;
    }
    /* Benötigte Zeit für Tut  */
    if($tut_zeit == "") {
    $tut_zeit "nicht Angegeben";


      
    /* Tutorial stufe finden START */ 
      
    if($tut_stufe == "1") {
      
    $tut_grad "sehr leicht";
      } else if(
    $tut_stufe == "2") {
      
    $tut_grad "leicht";
      } else if(
    $tut_stufe == "3") {
      
    $tut_grad "mittel";
      } else if(
    $tut_stufe == "4") {
      
    $tut_grad "schwer";
      } else if(
    $tut_stufe == "5") {
      
    $tut_grad "sehr schwer";
      } else if(
    $tut_stufe == "6") {
      
    $tut_grad "extrem schwer";
      } else {
      
    $tut_grad "nicht angegeben";
      }
      
    $endung ".php";
       
    /* Tutorial stufe finden STOP */
     
     /* Wenn Kategorie, Tutorialname und Beschreibung vorhaden, dann Seite und DB Eintrag erstellen START */ 
    if($tut_kate !== "" AND $tut_name !== "" AND $tut_text !== "") {

    $show "0";
    $tut_link $tutpage_name.$endung;
     
    $creatsite fopen("$tut_link","w");
    fwrite($creatsite"
    <center>
    <h3>
    $tut_name</h3>
    <br>
    <font size='2'>Tutorial von 
    $mailto &nbsp;&nbsp;&nbsp;&nbsp; Verfasst am:   $datum um $uhrzeit Uhr</font>
    <br> 
    Schwierigkeitsgrad: 
    <br> 
    $tut_text
    <br> <br>
    <font size='2'>Ich danke 
    $autor_name, dass er mir und Ihnen dieses Tutorial zur verfügung gestellt hat. Dieses Tutorial liegt außerdem unter dem Copyright von klener-online.de und dem Autor dieses Tutorials.</font>

    "
    );
    fclose($creatsite);

    $sql "INSERT INTO
                   
    $tabelle(datum, titel, stufe, autor, autormail, text, zeit, link, show)
                    VALUES
                        ('
    $uhrzeit', '$tut_name', '$tut_grad', '$autor_name', '$autor_mail', '$tut_text', '$tut_zeit', '$tut_link', '$show')";
    $result $db->query($sql);
    if (!
    $result) {
        die (
    'Konnte den Folgenden Query nicht senden: <br>'.$sql."<br />\nFehlermeldung:<br /> ".$db->error);

    } } else {
    echo 
    'anderer Fehler';
    }
     
    /* Wenn Kategorie, Tutorialname und Beschreibung vorhaden, dann Seite und DB Eintrag erstellen STOP */ 
    ?>
    Vielen Dank!

  • #2
    show ist ein reserviertes Wort, siehe MySQL :: MySQL 5.0 Reference Manual :: 8.3 Reserved Words

    Und zu
    /* Variablen für Tutorial START */
    $tut_name = $_POST[titel];
    $tut_kate = $_POST[kategorie];
    $tut_text = $_POST[besch];
    $tut_stufe = $_POST[stufe];
    $tut_zeit = $_POST[zeit];
    /* Variablen für Tutorial ENDE */
    /* Variablen für Autor START */
    $autor_name = $_POST[autor];
    $autor_mail = $_POST[email];
    siehe http://de2.php.net/language.types.ar...es.array.donts

    Kommentar


    • #3
      Ahhh... das war mein Fehler, danke!!!

      Zu den Variablen, die gehen alle ohne Probleme

      DANKE DANKE & MfG

      Kommentar


      • #4
        Zitat von Klener Beitrag anzeigen
        Zu den Variablen, die gehen alle ohne Probleme
        Dann sind titel, kategorie, besch, stufe, zeit, autor und email also Konstanten, die mittels [man]define[/man]() gesetzt wurden?
        Wenn nicht, siehe http://de2.php.net/language.types.ar...es.array.donts

        Kommentar


        • #5
          So ist es richtig:
          PHP-Code:
          $tut_name $_POST['titel']; 
          Die Array-Keys sind Strings, und Strings schreibt man in 'Hochkommas'.
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar

          Lädt...
          X