Eintrag mit $_POST

dc667

Grünschnabel
Hab schon in diversen Forum geschaut und auch hier schon gesucht, aber immer finde ich keine Hilfe. Ich will bloß Daten in die Datenbank schreiben... aber er wills nicht. Es kommt keine Fehlermeldung und es wird nix eingetragen. In der Config.php hab ich auch Fehlerabfragen, auch da kommt kein Fehler. Bitte helft mir!

<?php

include("config.php");

$sql = "INSERT INTO user(id,name,psw,email) VALUES('".$_POST['']."','".$_POST['name']."','".$_POST['psw']."','".$_POST['email']."')";
$eintragen = mysql_query($sql);
echo mysql_error();
?>
 
PHP:
<?php
// Aktuelle id ermitteln
$sql = mysql_query("SELECT id FROM user ORDER BY id LIMIT 1");
// Arraybildung mit Fehlerprüfung
$nr = mysql_fetch_object($sql) or die ("Fehler: "mysql_error());
$id = $nr->id;
$id++;

// Variablen.........
$name = $_POST['name'];
$psw = $_POST['psw'];
$email = $_POST['email'];

// Anweisung an die Datenbank
$sql = mysql_query("INSERT INTO user (id,name,psw,email) VALUES ('$id','$name','$psw','$email')");
?>

Wenn damit immer noch nichts geht, hast du keine Verbindung zur Datenbank.
 
hmm dann muss es am verbinden liegen.

das is meine config.php

$host = "localhost";
$user = "root";
$psw = "";

@mysql_pconnect($host,$user,$psw);
echo mysql_error();
mysql_select_db("archmage");
 
$sql = mysql_connect($host,$user,$psw);

Ändere diese Zeile in obige ab:
@mysql_pconnect($host,$user,$psw);

Den echo kannst du auch raus lassen. Bringt nichts und dann informiere dich über Fehlermanagement. Denn das bringt dir mehr als ein @ vor irgendetwas zu setzen, das ohnehin nicht gehen würde ;)
 
Du hast auch immer noch nicht erklärt, was $_POST[''] sein soll....diese Variable existiert definitiv nicht, wird aber in deinem Insert benutzt.

Lasse dir mal $sql per echo() ausgeben, und poste, was da drinnen steht.


Ist "id" zufällig ein AUTO_INCREMENT-Feld? Dann nehme es aus dem Query heraus.
 
Zuletzt bearbeitet:
das ist doch garkeine variable sonder eine anweisung

mit $_POST['bla']
schreibst du den wert der variable bla in ein tabellenfeld, bla wird vorher aus nem formular übergeben. dort als $bla.
 
Seit wann ist $_POST eine Anweisung?

Ansonsten...das ist dein Query:
Code:
<?php

include("config.php");

$sql = "INSERT INTO user(id,name,psw,email) VALUES('".$_POST['']."','".$_POST['name']."','".$_POST['psw']."','".$_POST['email']."')";
$eintragen = mysql_query($sql);
echo mysql_error();
?>
....und in dem rot markierten Teil des Queries steht nix von 'bla'....also was willst du damit?
 
Wenn du deine Tabelle so aufgebaut hast, das die id auto_increment (das heisst, sie erhöht sich um 1 bei jeden weiteren Eintrag) ist, musst du in deinem query nichts dafür angeben:

PHP:
$sql = "INSERT INTO user(id,name,psw,email) VALUES('','".$_POST['name']."','".$_POST['psw']."','".$_POST['email']."')";


Desweiteren ist $_POST _keine_ Anweisung. Es beinhaltet in Form eines Arrays die Daten die per Formular zu deinem Dokument gekommen sind...
 
Zurück