(这只是我的代码中的一部分,它不起作用) 我试图为我的网站创建一个registerform,但是,这就是一切都失败的地方。这些变量绑定到我的查询中(这部分有效),INSERT将被执行。
所以我希望' if($ statement-> execute())'但是,当插入实际发生在数据库中时,它不会回显任何东西(甚至不是0)。我看了op执行并看到: 返回值
成功时返回TRUE,失败时返回FALSE。
所以这对我没有意义......我希望有人可以帮助我!
foldr
编辑:这是js代码(由于结果仍为假,所以回声并没有结束)
$username = filter_var($_POST["username"]);
$password = filter_var($_POST["password"]);
$email = filter_var($_POST["email"]);
$firstname = filter_var($_POST["firstname"]);
$lastname = filter_var($_POST["lastname"]);
$statement = $mysqli->prepare("INSERT INTO user (username, password, email, firstname, lastname) VALUES (?, ?, ?, ?, ?)");
$statement->bind_param('sssss', $username, $password, $email, $firstname, $lastname);
if($statement->execute()) {
echo 1;
}
else {
echo 0;
}
答案 0 :(得分:0)
是否有有效的连接?如果对你有意义,请尝试以下方法吗?
更新:应用try catch查看错误的配对。
假设连接变量值为默认值:
try{
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// prepare and bind
$stmt = $conn->prepare("INSERT INTO user (username, password, email, firstname, lastname) VALUES (?, ?, ?, ?, ?)");
$statement->bind_param('sssss', $username, $password, $email, $firstname, $lastname);
.
.
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}