値を私のwampserverに挿入しようとしましたが、名前列と電子メール列の挿入に成功しましたが、パスワードフィールドをデータベースに挿入することはできません私がここで間違えたことを確認してください。画像上記
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>
このコードをチェックしてください、と私はあなたの他の2つは挿入なっている場合は、私のデータベース
を1つは必要ありません。値 '$ variable'として挿入することができます。挿入の前に$ passをエコーアウトすると、空になるか、値が入ります。また、変数を挿入しているときにプリペアドステートメントを使用していないのはなぜですか? – clearshot66
おそらく最も重大な間違いは、このコードがSQLインジェクションに対して広く開かれていることです。これが意味するのは、ユーザーからの悪意のあるコードに対して公開されているだけでなく、実行しているSQLクエリが実際にはわからないということです。実際のランタイムSQLクエリをエコーしてチェックします。さらに、クエリが失敗したときに 'mysqli_error()'を見てください。 – David
@clearshot66、私は分 – yuggi