フォーラムを見てきましたが、私を助けたものは見つかりませんでした。 ここに完全なコードがあります。エラーは$ result = $ conn-> query($ query)で発生します。 私はPHPに新しいので、私の上で簡単に行く、笑。致命的なエラー:メンバー関数のquery()エラーを呼び出す
<?php
include 'Register.html';
if(isset($_POST['Submit']))
{
SignUp();
}
global $conn;
$servername = "localhost";
$username1 = "root";
$password1 = "";
$dbname = "fiesta_db";
// Create connection
$conn = new mysqli($servername, $username1, $password1, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
return $conn;
}
function NewUser()
{
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$register = "INSERT INTO website (username, email, password)
VALUES ($username, $email, $password)";
if ($conn->query($register) == TRUE) {
echo "Successfully registered.";
}
else {
echo "Wrong syntax";
}
}
function SignUp()
{
if(!empty($_POST['username']))
{
global $conn;
$query = "SELECT * FROM website WHERE username ='$_POST[username]' AND email ='$_POST[email]'; ";
$result = $conn->query($query);
if ($result->num_rows != 0)
{
NewUser();
}
else {
echo "Username or Email already exist!";
}
}
$conn->close();
}
?>
はここ
<!DOCTYPE HTML>
<html>
<head>
<title>Sign-Up</title>
</head>
<body id="body-color">
<div id="Sign-Up">
<form action='register_do.php' method='post'
accept-charset='UTF-8'>
<fieldset >
<legend>Register</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='username' >Username:</label>
<input type='text' name='username' id='username' maxlength="50" />
<label for='email' >Email Address:</label>
<input type='text' name='email' id='email' maxlength="50" />
<label for='password' >Password:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type='submit' name='Submit' value='Submit' />
</fieldset>
</form>
</div>
</body>
</html>
君たちは(完全ちょうどより多くの詳細を追加しようとしていない)に役立つことを願ってレジスタページで、私はもうこれがすべてであることを示すために、コードを持っていません。 バンプ
*正確な*エラーと*ラインそれが起こるん正確にどのような*上では何ですか? '$ conn'が初期化されていないというエラーが表示された場合は、どこで初期化しますか?このコードはどこにもありません。 (これがうまく動作するようにするには、驚くべきSQLインジェクションの脆弱性が存在することに気付く価値があります) – David
これは完全なコードではありません。PHPにも新しくなりました。 – Musti
@ Fred-ii - 明らかに問題は不完全です。しかし、彼が与えた少しのエラーメッセージでさえ、問題は '$ conn'の値であることが明らかです。特定のメソッド名を見ずに「メソッド呼び出し」エラーに気付いただけで、99%の時間で同じ問題が発生すると想定しています。 – Barmar