kostenloser Webspace werbefrei: lima-city


Daten werden nicht in MySQL DB eingetragen.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    goldeneye

    Kostenloser Webspace von goldeneye

    goldeneye hat kostenlosen Webspace.

    Habe das Problem, dass ich verschiedenste Daten in eine DB eintragen möchte aber diese nicht funktioniert. Es wird weder eine fehlermeldung ausgegeben noch sind die variablen leer. Bin so langsam am verzweifeln, da ich jetzt sämtlich schreibweise die ich kenne aufgeschrieben habe-_-
    hier der vereinfachte Code:
    <?php
    $text = $_POST['eintragen'];
    $pw = $_POST['pw'];
    
    verbindung =   mysql_connect("mysql.lima-city.de", "USER124444", "pw") 
                    		or die("Keine Verbindung moeglich");
                            mysql_select_db("db_124444_3") 
                            or die ("Die Datenbank existiert nicht");
    
    			$eintrag = 	"INSERT INTO 'goldeneye' ('text')VALUES ('$text')";
    
    if ($pw == "pw")
     {
     $eintragen = mysql_query($eintrag);
    }

    Findet jemand einen fehler? Könnte mir jemand einen Tipp geben, wie man überprüft, warum daten nicht in eine DB eingetragen werden?
    Hoffe auf hilfe
    Daniel
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo goldeneye,

    mit http://de.php.net/mysql_error kannst du dir evtl die Fehlermeldung ausgeben lassen.

    Du kannst dir auch mal $eintrag ausgeben lassen. und überprüfen ob alles richtig zussamengesetzt wird.

    <?php
    $text = $_POST['eintragen'];
    $pw = $_POST['pw'];
    
    $verbindung =   mysql_connect("mysql.lima-city.de", "USER124444", "pw") 
                    		or die("Keine Verbindung moeglich");
                            mysql_select_db("db_124444_3") 
                            or die ("Die Datenbank existiert nicht");
    
    			$eintrag = 	"INSERT INTO 'goldeneye' ('text')VALUES ('$text')";
    
    print $eintrag;
    
    if ($pw == "pw")
     {
     $eintragen = mysql_query($eintrag);
    }
    
    print mysql_error($verbindung);
  4. Autor dieses Themas

    goldeneye

    Kostenloser Webspace von goldeneye

    goldeneye hat kostenlosen Webspace.

    guter Tipp.
    Zumindest sagt es mir, dass "Duplicate entry '0' for key 1 " bei der variablen verbindung ausggeben wird. was auch immer das bedeuten mag...

    Für mysql_error gibt er dafür 0 aus -_-

    Dafür gibt er bei print $eintrag alles richtig aus :thumb:
    Hätte jemand eine idee, was man ändern muss?
  5. Wie sieht deine DB (Tabelle) aus?
  6. Autor dieses Themas

    goldeneye

    Kostenloser Webspace von goldeneye

    goldeneye hat kostenlosen Webspace.

    dussel schrieb:
    Wie sieht deine DB (Tabelle) aus?

    Die Tabelle ist wie folgt aufgebaut:
    id| int(5)| unsigned| not null| PRIMARY KEY
    text| longtext| latin1_swedisch_ci| not null
    sprache| varchar(4)| latin1_swedisch_ci| not null
    Rubrik| varchar(16)| latin1_swedisch_ci| not null
    wertung| int(20)| not null
    datum| varchar(16)| latin1_swedisch_ci| not null

    das "latin1_swedisch_ci" wurde automatisch gesetzt :eek:
  7. füg am bsten zur ID noch ein auto_increment hinzu. (php myadmin: extra)

    du hasst auch alle anderen felder als Not Null definiert.

    Somit musst du dort entweder einen standard wert angeben, oder bei der SQL Statement auch diese Felder beachten.
  8. Autor dieses Themas

    goldeneye

    Kostenloser Webspace von goldeneye

    goldeneye hat kostenlosen Webspace.

    dussel schrieb:
    Somit musst du dort entweder einen standard wert angeben, oder bei der SQL Statement auch diese Felder beachten.

    wie meins du, dass ich einen standart wert eingeben muss?
    Was bedeutet das? Heißt das, dass jedes mal, wenn die eingabe eigentlich 0 wäre, dieser Text eingetragen wird?
  9. Du kannst mit zb phpMyAdmin den Felder einen Standard wert geben.

    Sofern du diese Felder dann keinen Wert übergeben wird, wird dieser eingetragen. Oder du änderst sie von NOT NULL auf NULL, dann können sie evlt auch leerbleiben.

    Eine möglichkeit ist auch diese:

    $eintrag = 	"INSERT INTO goldeneye ('id', 'text', 'sprache', 'Rubrik', 'wertung', 'datum') VALUES ('[i][nächste id][/i]', '$text', '', '', '0', '')";


    bei id solltes du, dass allerdings in der db ändern.

    zb mit diesem SQL Statement:
    ALTER TABLE `goldeneye` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT;
  10. Autor dieses Themas

    goldeneye

    Kostenloser Webspace von goldeneye

    goldeneye hat kostenlosen Webspace.

    dussel schrieb:
    Du kannst mit zb phpMyAdmin den Felder einen Standard wert geben.

    Sofern du diese Felder dann keinen Wert übergeben wird, wird dieser eingetragen. Oder du änderst sie von NOT NULL auf NULL, dann können sie evlt auch leerbleiben.

    Eine möglichkeit ist auch diese:

    $eintrag = 	"INSERT INTO goldeneye ('id', 'text', 'sprache', 'Rubrik', 'wertung', 'datum') VALUES ('[i][nächste id][/i]', '$text', '', '', '0', '')";


    bei id solltes du, dass allerdings in der db ändern.

    zb mit diesem SQL Statement:
    ALTER TABLE `goldeneye` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT;


    Danke!
    Endlich funktioniert die DB!
    Hoffe ich kann mich mal revanchieren. Gruß
    Daniel:thumb:
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!