2017-01-24 2 views
0

Ich erstelle ein Anmelde-System und dieser Code funktioniert, aber wenn ich mehr als drei Felder einfügen, fügt es die Daten nicht ein. In diesem Code wird das Einfügen in Felder Name, FName und E-Mail, aber keine Werte für andere Spalten eingefügt. Warum passiert dies?Daten einfügen in mysql mit PHP

<?php 

$name=$_POST["name"]; 
$fname=$_POST["fname"]; 
$email=$_POST["email"]; 
$gender=$_POST["gender"]; 
$password=$_GET["password"]; 



$query="INSERT INTO student(name,fname,email,password) VALUES ('".$name."','".$fname."','".$email."','".$password."')"; 

$url="localhost"; 
$user="root"; 
$pass=""; 
$db="sms"; 

$connection=new mysqli($url,$user,$pass,$db); 
$connection->query($query); 
header("Location: index1.php") 

?> 
+0

Willkommen bei Stack Overflow! Sie können [die Tour] (http://stackoverflow.com/tour) zuerst und lernen [Wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to-ask) und erstellen Sie eine [ Minimal, vollständig und verifizierbar] (http://stackoverflow.com/help/mcve) Beispiel. Das erleichtert es uns, Ihnen zu helfen. –

+0

Versuchen Sie, "Name" so zu allen Feldern – DaYdReAmeR

+2

Hash Ihr $ Passwort, nicht direkt zu speichern. und warum $ _GET im Passwort. –

Antwort

-1

Da Ihre Variable eine Zeichenkette ist, erhalten Sie diese als String, also verwenden Sie diese als;

$query="INSERT INTO student(name,fname,email,password) VALUES ("'".$name."'","'".$fname."'","'".$email."'","'".$password."'")"; 

fügen Sie doppelte Anführungszeichen hinzu, um das einfache Anführungszeichen zu kapseln.

+0

Dank seiner Arbeit hat aber wenig Problem, es zeigt kein Passwort –

-1
<?php 
    $name = $_POST["name"]; 
    $fname = $_POST["fname"]; 
    $email = $_POST["email"]; 
    $gender = $_POST["gender"]; 
    $password= $_POST["password"]; 

    $query = "INSERT INTO student(name,fname,email,password) VALUES ('".$name."','".$fname."','".$email."','".$password."')"; 

    $url  = "localhost"; 
    $user = "root"; 
    $pass = ""; 
    $db  = "sms"; 

    $connection = new mysqli($url,$user,$pass,$db); 
    $connection->query($query); 
    header("Location: index1.php") 
?> 
+0

Warum negativ? Kannst du den Grund angeben? –

0

Wenn Sie mit mehr als drei Feldern versuchen, checken Sie auch in die Datenbanktabelle ein. Stellen Sie sicher, dass beim Hinzufügen weiterer Spalten diese Spalten auch in der Datenbanktabelle hinzugefügt werden müssen. Und es gibt auch einen Vorschlag, das Passwortfeld sicherer zu machen. Bitte versuchen Sie es mit folgendem Code.

<?php 

$name=$_POST["name"]; 
$fname=$_POST["fname"]; 
$email=$_POST["email"]; 
$gender=$_POST["gender"]; 
$password=md5($_POST["password"]); 



$query="INSERT INTO student(name,fname,email,gender,password) VALUES('".$name."','".$fname."','".$email."','".$gender."','".$password."')"; 

$url="localhost"; 
$user="root"; 
$pass=""; 
$db="sms"; 

$connection=new mysqli($url,$user,$pass,$db); 
$connection->query($query); 
header("Location: index1.php"); 

?>