【发布时间】:2017-08-04 19:30:55
【问题描述】:
这段代码通过了所有的调试,但由于某种原因,它仍然没有插入。它尝试检查用户名是否已存在于数据库中,如果不存在,则添加它。由于某种原因,它仍然没有将其添加到数据表中。它确实到达了插入部分,但没有添加一行。
<?php
require "conn.php";
echo "debug 1";
$stmt = $conn->prepare("SELECT * FROM UserData WHERE username = ?");
$stmt->bind_param('s', /*$_POST["username"]*/ $username );
$username = 'hi';
$stmt->execute();
$stmt->store_result();
echo "debug 2";
if ($stmt->num_rows == 0){ // username not taken
echo "debug 3";
$stmt2 = $conn->prepare("INSERT INTO UserData (username, password) VALUES (?, ?)");
$password =(/*$_POST["password"]*/ "hey");
$username =(/* $_POST["username"]*/ "hi");
$stmt2->bind_param('s',$username);
$stmt2->bind_param('s',$password);
$stmt2->execute();
if ($stmt2->affected_rows == 1){
echo 'Insert was successful.';
}else{ echo 'Insert failed.';
var_dump($stmt2);
}
}else{ echo 'That username exists already.';}
?>
【问题讨论】:
-
$stmt2->bind_param('ss', $username, $password);