0

私は長い間何が間違っているのかを突き止めてきましたが、それを理解することはできません. ローカルの MySQL データベースに接続しようとしています。これを実行すると、エラーはスローされません。また、データベースとテーブルが存在し、ユーザー名とパスワードが正しいこともわかっています。

<?php 
// Connects to your Database 
$con = mysqli_connect("localhost", "**MY_USERNAME**", "**MY_PASSWORD**", "gamesite_data") or die(mysql_error()); 
$username = $_POST["username"];
$password = $_POST["password"];
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$age = $_POST["age"];

mysqli_query($con, "INSERT INTO information (`username`, `password`, `first_name`, `last_name`, `age`) VALUES ($username, $password, $firstname, $last_name, $age);"
);
?> 
<?php
mysqli_close($con)
?>
4

4 に答える 4

0

ここ:

mysqli_query($con, "INSERT INTO information (`username`, `password`, `first_name`, `last_name`, `age`) VALUES ($username, $password, $firstname, $last_name, $age);"
);

する必要があります

mysqli_query($con, "INSERT INTO information (`username`, `password`, `first_name`, `last_name`, `age`) VALUES ($username, $password, $first_name, $last_name, $age);"
);

あなたは$firstname変数を持っていません、あなたは持っています$first_name

mysqli_real_escape_string()また、すべての$_POST値に使用する必要があることにも注意してください。

そして、変数を文字列としてクエリに渡すのは良い習慣だと思います:

"INSERT INTO information (`username`, `password`, `first_name`, `last_name`, `age`) VALUES ('$username', '$password', '$first_name', '$last_name', '$age');"
于 2013-04-08T21:55:56.277 に答える
0

username、password、first_name、last_name の値が文字列の場合は、ここで単一引用符で囲む必要があります。

mysqli_query($con, "INSERT INTO information (`username`, `password`, `first_name`, `last_name`, `age`) VALUES ('".$username."', '".$password."', '".$firstname."', '".$last_name."', ".$age.")");

また、 を使用する場合は、の代わりにmysqli_connectも使用する必要があります。mysqli_errormysql_error

于 2013-04-08T21:18:38.353 に答える