gpt4 book ai didi

php - INSERT INTO 表不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:00 24 4
gpt4 key购买 nike

我从 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 用户(用户名,密码,...

关于php - INSERT INTO 表不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com