Ergebnis 1 bis 11 von 11

Thema: schon wieder ein problem >.< || Werte werden nicht in die DB geschrieben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    schon wieder ein problem >.< || Werte werden nicht in die DB geschrieben

    Also ich wollte jetzt nen gbook Script schreiben und ich habe das so gemacht:
    PHP-Code:
    <?php
    include("config.php");
    if(isset(
    $submit)) {
    if (
    $_POST['name'] != "" && $_POST['email'] != "")
    {
    $gbook_insert "INSERT INTO `gbook` (name, eintrag, email) VALUES ('".$_POST['name']."', '".$_POST['eintrag']."', '".$_POST['email']."');";
    echo 
    $gbook_insert;
    //$gbook_query = mysql_query($gbook_insert);
    }
    else {
    echo 
    "Error! Kein Name oder keine E-Mail Adresse eingegeben";
    }
    }

    ?>
    <form method="post">
    Name: <input name="name" type="text"><br>
    E-Mail Adresse:  <input name="email" type="text"><br>
    Text: <br><textarea name="eintrag" cols="40" rows="20"></textarea>
    <input name="submit" type="submit" value="Absenden">
    </form>
    <?php
    $abfrage 
    "SELECT * FROM gbook";
      
    $ergebnis mysql_query($abfrage);
      while(
    $row mysql_fetch_object($ergebnis))
        {
        
    ?>
        <br>
        <table border="1" width="70%">
        <tr>
        <td><?
        echo $row->name;
        ?>
        </td>
        <td><?
        echo $row->email;
        ?>
        </td>
        </tr>
        <tr>
        <td colspan="2"><?
        echo $row->eintrag;
        ?>
        </td>
        </tr>
        </table><?
        }
        ?>
    Aber der schreibt einfach nicht die neuen Einträge in die DB obwohl wenn ich das per echo ausgeben lass, folgendes kommt:
    Code:
    INSERT INTO `gbook` (name, eintrag, email) VALUES ('fanrpg', 'test', 'test@tester.de');
    Weiss einer warum der das nicht in die DB schreibt?
    Ach ja Syntax der DB:
    Code:
    CREATE TABLE `gbook` (
      `ID` int(255) NOT NULL auto_increment,
      `eintrag` text NOT NULL,
      `email` varchar(255) NOT NULL default '',
      `name` varchar(255) NOT NULL default '',
      PRIMARY KEY  (`ID`)
    ) TYPE=MyISAM AUTO_INCREMENT=1 ;
    jemand ne Idee?

  2. #2
    weil du den mysql_query auskommentiert hast? o.o
    ansonsten schreib dahinter doch noch:
    echo mysql_error();

  3. #3
    Zitat Zitat von Rpg_Goldenboy
    weil du den mysql_query auskommentiert hast? o.o
    ansonsten schreib dahinter doch noch:
    echo mysql_error();
    Weil das echo da eigentlich nicht hingehört weil das ja nicht geklappt hat mit dem eintragen hab ich das auskommentiert und dafür das echo hingesetzt.

  4. #4
    Ich hoffe, in deiner config.php stehen die MySQL-Daten.
    PHP-Code:
    mysql_connect("HOST","BENUTZER","PASSWORT");
    mysql_select_db("DATENBANK"); 
    Lass dir den MySQL-Error ausgeben nach deinem Query.
    PHP-Code:
    echo mysql_error(); 

  5. #5
    die config.php

    PHP-Code:
    <?
    $dbms = 'mysql';
    $db_host = 'localhost';
    $db_name = 'news';
    $db_user = 'root';
    $db_pass = '';
    $db_domain = 'locaohost';

    /* Verbindung zur Datenbank aufbauen */
    $db = @mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());

    mysql_select_db($db_name) or die(mysql_error());
    ?>
    und per mysql_error() wirft der aber auch nichts aus
    und wird trotzdem nicht eingetragen

  6. #6
    Ich würde $db_pas s durch $db_pass und locaohost durch localhost ersetzen. Desweiteren hast du in den letzten beiden Zeilen eine schließende Klammer zu viel. Außerdem gebe ich den MySQL-Queries als letzten Parameter immer noch die Rückgabe von mysql_connect() mit, das ist aber /afaik) nicht zwingend notwendig.
    Ansonsten nimm mal zum debuggen das @ vor dem mysql_connect weg, damit wirft er eventuelle Fehlermeldungen des Befehls aus.

    Ach so, und die Feldernamen in Queries setze ich immer in `, das würde dann so aussehen: INSERT INTO `gbook` (`name`, `eintrag`, `email`) VALUES ('fanrpg', 'test', 'test@tester.de');

  7. #7
    Zitat Zitat von masterquest
    Ich würde $db_pas s durch $db_pass und locaohost durch localhost ersetzen. Desweiteren hast du in den letzten beiden Zeilen eine schließende Klammer zu viel.
    Du solltest inzwischen wissen, dass das der automatische Wort-Brecher des Forums ist. :D Und die doppelte Klammer gehört so. da steht ein die( vor.

  8. #8
    Hmpf. An den Wortbrecher hab ich nicht gedacht, und das die( wohl übersehen.

  9. #9
    das mit $db_pas s ist nur durch das Copy & Paste passiert in der Original steht das zusammen.

    hmm ich habs jetzt auf dem Webspace getestet und da funktioniert es

    Aber warum nicht lokal?

  10. #10
    Andere PHP Version?
    Anderer Datenbankname?
    Anderer Hostname?

  11. #11
    die config.php ist auf dem Space anders

    Und andere Scripts nach dem selben prinzip funktionieren lokal ja auch mit der selben config.php

    Und auf dem Space ist 4.3.3 und lokal 4.3.11 hat das was damit zu tun?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •