我是新来的PHP,我试图让一个事先准备好的声明的工作。 它在我大学最后一年的项目,我记得读取准备的语句是很好的做法,也是很好的SQL注入。 然而,下面的代码给我一个服务器500错误。
<?php
$email = "blah@blah.co.uk";
$hash = "somerandomhashedpassword";
$db = new mysqli("localhost", "root", "1234", "UEAnetwork");
$sql = "INSERT INTO Students (Email, Password) VALUES (?,?)";
$stmt = $db->prepare($sql);
$stmt->bindValue(1, $email);
$stmt->bindValue(2, $hash);
if ($stmt->execute()) {
echo "You have registered!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
}
?>
如果我运行下面再行插入,所以我敢肯定我连接到数据库正常。
<?php
$db = new mysqli("localhost", "root", "1234", "UEAnetwork");
$sql = "INSERT INTO Students (Email, Password) VALUES ('blah@blah.co.uk','somerandomhashedpassword')";
$stmt = $db->prepare($sql);
if ($stmt->execute()) {
echo "You have registered!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
}
?>
我使用bindValue
不正确? 我已经看到了很多的教程在网上使用这种方式,但我必须做一些错误的。