我从 nettuts 找到了一个教程,里面有源代码,所以尝试在我的网站上实现它。它现在可以工作了。但是,它没有注册系统,所以我正在制作一个。问题是,正如我所料,我的代码无法正常工作......它似乎不知道如何插入数据库。这是将数据插入数据库的函数。
function register_User($un, $email, $pwd) {
$query = "INSERT INTO users( username, password, email )
VALUES(:uname, :pwd, :email)
LIMIT 1";
if($stmt = $this->conn->prepare($query)) {
$stmt->bind_param(':uname', $un);
$stmt->bind_param(':pwd', $pwd);
$stmt->bind_param(':email', $email);
$stmt->execute();
if($stmt->fetch()) {
$stmt->close();
return true;
} else return "The username or email you entered is already in
use...";
}
我已经从类中调试了与数据库的连接,它说它已连接。我尝试改用这种方法:
function register($un, $email, $pwd)
{
$registerquery = $this->conn->query(
"INSERT INTO users(uername, password, email)
VALUES('".$un."', '".$pwd."', '".$email."')");
if($registerquery)
{
echo "<h4>Success</h4>";
}
else
{
echo "<h4>Error</h4>";
}
}
它回显“错误”...你能帮我指出这里的错误吗??? :(
在第一个示例中,看起来这一行可能是问题所在:
if ($stmt->fetch()) {
通常,数据操作查询(INSERT、UPDATE、DELETE 等)不会返回可获取的结果集。通常,$stmt->execute();
函数会返回您要查找的 true 或 false 值。
在第二个例子中,你拼错了“username”:
INSERT INTO 用户(用户名,密码,...
我是一名优秀的程序员,十分优秀!