私はXAMPPとSQLサーバーとの簡単な接続をしようとしています。しかし、これまでにデータを入力したりデータベースに接続しようとすると、このエラーが発生します。エラーは何ですか?私は自分のプロジェクトにそれが大いに必要です。私はなぜphp 9行目がエラーであるのか分かりません。致命的なエラー:未知のエラー:未定義のメソッドを呼び出すmysqli :: error()
致命的なエラー:不明なエラー:未定義のメソッドのmysqliのに呼び出し::エラー()はC:\ xamppの\ htdocsに\ last1 \新しい\のregister.php:19
<?php
/* Registration process, inserts user info into the database
and sends account confirmation email message
*/
// Set session variables to be used on profile.php page
$_SESSION['email'] = $_POST['email'];
$_SESSION['first_name'] = $_POST['firstname'];
$_SESSION['last_name'] = $_POST['lastname'];
// Escape all $_POST variables to protect against SQL injections
$first_name = $mysqli->escape_string($_POST['firstname']);
$last_name = $mysqli->escape_string($_POST['lastname']);
$email = $mysqli->escape_string($_POST['email']);
$password = $mysqli->escape_string(password_hash($_POST['password'], PASSWORD_BCRYPT));
$hash = $mysqli->escape_string(md5(rand(0,1000)));
// Check if user with that email already exists
**$result = $mysqli->query("SELECT * FROM users WHERE email='$email'") or die($mysqli->error());**
// We know user email exists if the rows returned are more than 0
if ($result->num_rows > 0) {
$_SESSION['message'] = 'User with this email already exists!';
header("location: error.php");
}
else { // Email doesn't already exist in a database, proceed...
// active is 0 by DEFAULT (no need to include it here)
$sql = "INSERT INTO users (first_name, last_name, email, password, hash) "
. "VALUES ('$first_name','$last_name','$email','$password', '$hash')";
// Add user to the database
if ($mysqli->query($sql)){
$_SESSION['active'] = 0; //0 until user activates their account with verify.php
$_SESSION['logged_in'] = true; // So we know the user has logged in
$_SESSION['message'] =
"Confirmation link has been sent to $email, please verify
your account by clicking on the link in the message!";
// Send registration confirmation link (verify.php)
$to = $email;
$subject = 'Account Verification (clevertechie.com)';
$message_body = '
Hello '.$first_name.',
Thank you for signing up!
Please click this link to activate your account:
http://localhost/login-system/verify.php?email='.$email.'&hash='.$hash;
mail($to, $subject, $message_body);
header("location: profile.php");
}
else {
$_SESSION['message'] = 'Registration failed!';
header("location: error.php");
}
}
私を助けてください:(ありがとう君たち; *
は、データベースへの接続を確立していることでしょうか? – dede
$ mysqliはどこに宣言されていますか?それは別のファイルにありますか?あなたのコードの中にある二重のアスタリスクか、あるいはこの質問の中で行を強調表示していますか? –
私はそれをチェックアウトできるようにあなたに送ってきます。あなたのメールアドレスは? –