2017-02-23 33 views
0

我試圖將值插入到我的wampserver中,我成功插入名稱列和電子郵件列,但無法將通行字字段插入到數據庫中檢查我在這裏做錯了什麼。
enter image description here無法通過使用php腳本將一列數據插入wampserver

上圖中給你一個明確的概念,即通字場的外觀中,請注意密碼字段我試圖將數據保存在VARCHAR(),但不保存數據請查詢我下面的PHP和HTML代碼
的init.php
數據庫連接正在使用此

<?php 
 
$user_name="root"; 
 
$pass=""; 
 
$host="localhost"; 
 
$db_name="userdb"; 
 
$con=mysqli_connect($host,$user_name,$pass,$db_name); 
 
if(!$con) 
 
{ 
 
\t echo "Connection Failed....".mysqli_connect_error(); 
 
\t 
 
} 
 
else 
 
echo "<h3>Connection Success.....</h3>"; 
 

 
?>

register.php

<?php 
 
$name=$_POST["name"]; 
 
$email=$_POST["email"]; 
 
$pass=$_POST["password"]; 
 
require "init.php"; 
 
$query="select * from userinfo where email like '".$email."';"; 
 
$result=mysqli_query($con,$query); 
 
//ok 
 
if(mysqli_num_rows($result)>0) 
 
{ 
 
\t $response=array(); 
 
\t $code="reg_false"; 
 
\t $message="User already exist...."; 
 
\t array_push($response,array("code"=>$code,"message"=>$message)); 
 
\t echo json_encode(array("server_response"=>$response)); 
 
} 
 
else 
 
{ 
 
    $querys ="insert into userinfo values ('".$name."','".$email."','".$pass."');"; 
 
    $result=mysqli_query($con,$querys); 
 
    if(!$result) 
 
    { 
 
     $response=array(); 
 
     $code="reg_false"; 
 
     $message="Some server error occurred, Train again...."; 
 
     array_push($response,array("code"=>$code,"message"=>$message)); 
 
     echo json_encode(array("server_response"=>$response)); 
 
    }else{ 
 
     $response=array(); 
 
     $code="reg_true"; 
 
     $message="Registration Success....Thank you...."; 
 
     array_push($response,array("code"=>$code,"message"=>$message)); 
 
     echo json_encode(array("server_response"=>$response)); 
 
    } 
 
} 
 
mysqli_close($con); 
 
?>

register_test.html
這一個用於給詳細信息發送到數據庫,現在用這一個像作爲輸入發送數據

<html> 
 
<head> <title>Register Test....</title> </head> 
 
<body> 
 
<form method="post" action="register.php"> 
 
<table> 
 
<tr> 
 
<td>Name :</td><td><input type="text" name="name"/></td> 
 
</tr> 
 
<tr> 
 
<td>Email :</td><td><input type="text" name="email"/></td> 
 
</tr> 
 
<tr> 
 
<td>Password :</td><td><input type="password" name="password"/></td> 
 
</tr> 
 
<tr> 
 
<td><input type="submit" value="Register"/></td> 
 
</tr> 
 
</table> 
 
</form> 
 
</body> 
 
</html>

請檢查該代碼,請告訴在那裏我做了錯誤的通字值鑽進我的數據庫

+0

好一個你不需要。$變量。你可以將它們作爲值'$ variable'插入。當在插入之前回顯$ pass時,它會顯示爲空或者它是否有值。如果你插入變量,爲什麼不使用預處理語句? – clearshot66

+0

可能最重要的錯誤是此代碼對SQL注入開放。這意味着不僅僅是它對用戶的惡意代碼開放,而且你實際上並不知道你正在執行什麼SQL查詢。回顯實際的運行時SQL查詢,以便您可以檢查它。此外,查詢失敗時查看'mysqli_error()'。 – David

+0

@ clearshot66,我會嘗試等一下 – yuggi

回答

-1

如果你的另外兩個越來越插入,試試這個:

$querys ="INSERT INTO userinfo (name,email,password) VALUES ('$name','$email','$pass'); 
$result = $mysqli_query($con,$querys); 
+0

不工作兄弟 – yuggi

+0

您的其他兩個字段是否已輸入數據庫並且密碼列爲空?你的意思是不工作 – clearshot66

+0

是的,如果給通過工作是空白的,它也工作正常,並給出相同的結果 – yuggi