Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Problem mit Insert

Ich bin Anfänger also bitte ich die vermutlich etwas blöde Frage zu entschuldigen.
Was ich zu machen versuche ist folgendes: Ich will aus einem HTML Formular einen Datenbankeintrag erstellen. Aus irgendeinem Grund, den ich nach langem Suchen nicht gefunden habe, erstellt der folgende Code keinen Eintrag in der Datenbank. Eine Fehlermeldung gibt es leider auch nicht. Es wäre nett, wenn sich jemand das mal anschauen und mir einen Hinsweis zur Lösung des Problems geben könnte.

Dennis

<?php

echo $_POST['name']; ?><p> Testwert: <br>
<?php

echo $_POST['test']; ?><p> Passwort: <br>
<?php
echo $_POST['kennwort'];
?>
<p>
<?php
$verbindung = mysql_connect("localhost", "qwe1234567899","" );

if($verbindung) {
echo "Verbindung wurde aufgebaut<br />";


$db = mysql_select_db("qwe1234567899_de_db");
if($db) {
echo "Datenbank ausgewählt<br />";
$Name = $_POST['name'];
$Test = $_POST['test'];
$Passwort = $_POST['kennwort'];
$sql = "INSERT INTO Spieler (Name,Testwert, Passwort)
VALUES ($Name,$Test,$Passwort)";

$new = mysql_db_query($sql);

if($new) {
echo "Done" ;
}
}}
?>

Hier gehts zum Orginal Eintrag "Problem mit Insert" im Forum

Antworten

Und das frisst dein PHP Interpreter? Das glaube ich Dir nicht. <?php ohne ?> nimmt der sicher nicht. Abgesehen davon suchst Du [doc]mysql_error[/doc] und willst String in SQL Queries bitteschön in Anführungszeichen packen.


2.

Und außerdem:
mysql_db_query erfordert 2 Parameter.
Aber Auszug aus der Doku:
Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese Funktion nicht. Stattdessen sollten Sie die Funktionen mysql_select_db() und mysql_query() verwenden.


3.

Zunächst schonmal vielen Dank.
Ich habe also jetzt die Funktionen mysql_select_db und mysql_query verwendet.
Nun bekomme ich die Fehlermeldung:
1054: Unknown column '$Name' in 'field list'
In der Tabelle ist diese Spalte allerdings enthalten.
Wie kann ich weiter vorgehen?

Dennis
In meiner Datenba
Name: <br>
<?php
echo $_REQUEST['name'];
?>
<p> Testwert: <br>
<?php
echo $_REQUEST['test'];
?>
<p> Passwort: <br>
<?php
echo $_REQUEST['kennwort'];
?>
<p>
<?php
$verbindung = mysql_connect("localhost", "qwe1234567899","" );
echo mysql_errno() . ": " . mysql_error(). "\n";


$db = mysql_select_db("qwe1234567899_de_db",$verbindung);



$Name = $_REQUEST['name'];
$Test = $_REQUEST['test'];
$Passwort = $_REQUEST['kennwort'];


$new = mysql_query('INSERT INTO Spieler (Name,Testwert, Passwort)
VALUES ($Name,$Test,$Passwort)',$verbindung);
echo mysql_errno() . ": " . mysql_error(). "\n";

?>


4.

Ich kann mit mysql_query('INSERT INTO Spieler (Name,Testwert, Passwort)
VALUES ("test","test","test")',$verbindung);
Datenbankeinträge erstlellen.
Allerdings ist es mir noch nicht gelungen die Eingaben aus dem Formular in die Datenbanlk zu übernehmen.
Wäre nett, wenn noch jemnand einen gute Idee hätte.

Dennis


5.

Wie Olli schon sagte, auf jeden Fall müssen auch deine Variablen in Hochkommatas.


6.

mysql_query('INSERT INTO Spieler (Name,Testwert, Passwort)
VALUES ('$Name','$Test','$Passwort')',....);

so? das funktioniert überhaupt nicht

Dennis


7.

So sollte es funktionieren. Kommt eine Fehlermeldung? Oder haben die Variablen nur nicht den richtigen Wert?

EDIT:
mysql_query("INSERT....")
--> doppelte Anführungszeichen müssen es wohl sein.


8.

Also
"INSERT ..." führt zu Parse error: parse error in /data/members/free/tripod/de/q/w/e/qwe1234567899/htdocs/test.php on line 30
'INSERT .... VALUES ('$Name'..... )' geht auch nicht
und mit "$Name" wird halt einfach "$Name" und nicht der Wert der Variablen in die Datenbank eingetragen.

Dennis


9.

$new = mysql_query('INSERT INTO Spieler (Name,Testwert, Passwort)
VALUES ("test","test","test")',$verbindung);

so bekomme ich einen Eintrag in der Datenbank, die Frage ist halt was ich machen muss, damit ich die Werte aus dem Forumlar ( also zb $_REQUEST['name'] ) in die Datenbank bekomme.

Dennis


10.

In doppelten Anführungszeichen werden Variablen durch ihren Wert ersetzt, in einfachen wird die Variable selbst hingeschrieben.

mysql_query("INSERT INTO Spieler (Name,Testwert, Passwort) VALUES ('$Name','$Test','$Passwort')");
kann eigentlich keinen parse-error geben.


11.

Es funktioniert! Mir ist zwar nicht klar was jetzt anders ist ...

Vielen Danke und einen schönen Abend noch

Dennis


Hier gehts zum Orginal Eintrag "Problem mit Insert" im Forum
 
phpforum.de | Impressum