私は自分のウェブサイトで動作するように単純なレジスタ関数を取得しようとしています。エラーメッセージは下の画像で示されています。単にパラメータから値を取り出してデータベースに書き込むだけです。単純なPHP/MySqlレジスタ関数がパラメータを受け付けていません
PHP:
<?php
//connection details
/*$servername = "XXXXXXXXX";
$username = "sqlXXXXXXXXX";
$password = "password";
$dbname = "sqlXXXXXXXXX";*/
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "coursework";
$conn = mysqli_connect($servername, $username, $password, $dbname);
$username=$_POST['name'];
$email=$_POST['email'];
$password=$_POST['password'];
$admin=0;
$hash = crypt($password);
//prepared statement
$stmt = mysqli_prepare($conn, "INSERT INTO USERS (username, email, hash, admin) VALUES (?,?,?,?)");
//dealing with the parameters
mysqli_stmt_bind_param($stmt, "sssi", $username, $email, $hash, $admin);
mysqli_stmt_execute($stmt);
//close statement and connection
mysqli_stmt_close($stmt);
mysqli_close($conn);
?>
あなたはパスワードに同じ変数を使用しています。そのためです。すべてのPOST配列にも値があることを確認してください。あなたはPHPが(http://php.net/manual/en/function.password-hash.php)password_hash'代わりに '使用5.5.0+ている場合 –
は... password_hashは、それが自分の塩のですが生成されます。 –
私はここではろうの耳に落ちているようですが、回答エリアに投稿している人にのみ回答しています。 –