Wo liegt der Fehler (In DB schreiben)

BigFacker

Erfahrenes Mitglied
Ja also, ich glaube ich habe alles Threads auf diesem Board zum Thema in ne DB schreiben gelesen und hab jetzt auch ein fettes 800 Seiten Buch bei seite:)

ja, ich habs auch geschafft in die DB zu schreiben, als test quasie, aber jetzt wos ans eingemachte geht, klappt wieder irgendwas nicht:)

Das ist die Datei die in die DB schreiben soll
PHP:
include ("mysql_connect.php");
$string = "INSERT INTO lan_user(vorname, nickname, clan, sitz, alter, wohnort, interessen, games, kommentar) VALUES ('$vorname', '$nickname', '$clan', '$sitzplatz', '$age', '$wohnort', '$interessen', '$games', '$kommentar')";

mysql_select_db($db,$verbindung);

$result = mysql_query($string,$verbindung);

    if (mysql_affected_rows() == 0)
	{
      echo "Fehler";
	}
    else
	{
    echo "alles roger";
	}
}
?>
So und die mysql_connect sieht so aus:
PHP:
<?
$server = "localhost";
$user = "felix";
$pass = "fy2001";
$db = "LAN"; 
$verbindung = @mysql_connect($server, $user, $pass);
  if(!$verbindung)
     {
        die ("Verbindung zum Server fehlgeschlagen!");
     }
?>

Also ich hab in der Db 10 Felder, eine mit der id und autoincrement und halt unique, index, undprimärschlüssel

und der rest steht auf varchar ohne irgendwas anderes.

Was vielleicht noch zu sagen wäre: es kommt immer: alles roger. Aber er schreibt einfach net in die Db:(
Bitte helft mir, ich weiß das Thema ist bis zum Erbrechen belabert wurden, aber die Fehler liegen dann doch immer woanders:)

bis denne
bf
 
*lol*

die du musst "" um die '' machen bei Strings, bei Zahlen einfach
weglassen sonst werden deine Variablen nicht geparst, also ersetzt.

'$vorname' wird zu "'$vorname'" oder '\''.$vorname.'\''

dann solltest du hinter der Abfrage mal einen Test auf einen SQL fehler machen

PHP:
if(!$result) echo mysql_error().'<br>';
setzen und schauen was für eine Fehlermeldung er ausgibt.

mage
 
Mage das was du sagst ist völliger Humbug, beim Echo wird das so gemacht, aber nicht beim eintragen, da muss das so:
'$bla'
oder
\"$bla\"

sein, aber das was du sagst ist imo Unsinn...
 
also wenn mich jetzt nicht alles täuscht, dann scheint der code von BigFaker in der tat korrekt zu sein ... hmmm dann kann der fehler eigentlich nur bei der db liegen. schau mal, ob du alles richtig konfiguriert hast :D
was anderes weiß ich leider auch nicht im moment :(
 
Einzige was mir jetzt noch einfällt:
PHP:
<?
$string = "INSERT INTO lan_user(vorname, nickname, clan, sitz, alter, wohnort, interessen, games, kommentar) VALUES ('$vorname', '$nickname', '$clan', '$sitzplatz', '$age', '$wohnort', '$interessen', '$games', '$kommentar')";
?>
umändern in:
PHP:
<?
$string = "INSERT INTO lan_user (vorname, nickname, clan, sitz, alter, wohnort, interessen, games, kommentar) VALUES ('$vorname', '$nickname', '$clan', '$sitzplatz', '$age', '$wohnort', '$interessen', '$games', '$kommentar')";
?>

Zwischen lan_user und (vorname....) n Space machen....



Also ich hab die ganze Table mal auf meinem localhost nachgemacht und alle Fields mit tinyint bestückt und dann folgendes einfügen wollen:
PHP:
<?
INSERT INTO lan_user(vorname, nickname, clan, sitz, alter, wohnort, interessen, games, kommentar) VALUES ('1', '2', '3', '4', '5', '6', '7', '8', '9');
?>
In phpMyAdmin kam dann folgende Fehlermeldung:
SQL-Befehl :

INSERT INTO lan_user (vorname, nickname, clan, sitz, alter, wohnort, interessen, games, kommentar) VALUES('1', '2', '3', '4', '5', '6', '7', '8', '9')

MySQL meldet:


You have an error in your SQL syntax near 'alter, wohnort, interessen, games, kommentar) VALUES('1', '2', '3', '4', '5', '6' at line 1
 
Zuletzt bearbeitet:
hi!! Danke erstmal füreure Vorschläge...alls hat nicht funktioniert:(

Aber ich hab jetzt das ganze nochmal neu geschrieben, und nochmal neu abgespeichert, und komischerweise ging jetzt, obwohl ich nichts anders gemacht hab...


seeeeehr mysteriös:)
 
echt??? Das wusste ich ja noch gar nicht?

Ich hab mal die SQL Tabels umbenannt, weil ich vielleicht dachte, das sie sich mit den Variablen nicht vertragen....jetzt gehts..

kann aber auch wie du sagst an dem Alter gelegen haben.

bis denne
 
Zurück