2017-01-24 174 views
0

我正在創建註冊系統並且此代碼正在工作,但是當我插入三個以上的字段時,它不插入數據。在此代碼中,它插入字段名稱,fname電子郵件,但沒有值被插入其他列。這是爲什麼發生?在mysql中使用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

歡迎來到Stack Overflow!您可以先[參觀](http://stackoverflow.com/tour)並學習[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)並創建一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。這使我們更容易幫助你。 –

+0

嘗試給所有字段這樣的名稱 – DaYdReAmeR

+2

哈希你的$密碼,不要直接存儲。爲什麼$ _GET輸入密碼。 –

回答

-1

因爲你的變量是字符串,所以PHP把它作爲一個字符串,所以使用這個作爲;

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

加雙引號來封裝單引號。

+0

感謝它的工作,但沒有問題,它沒有顯示密碼 –

-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

爲什麼負面?你能提到原因嗎? –

0

如果您嘗試使用三個以上的字段,那麼還要檢查數據庫表。確保添加更多的列也必須在數據庫表中添加這些列。並且還有建議使密碼字段更加安全。 請使用以下代碼嘗試。

<?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"); 

?>