gpt4 book ai didi

php - 无法在数据库 $count 中写入数据!= 1

转载 作者:行者123 更新时间:2023-11-30 22:52:47 24 4
gpt4 key购买 nike

我目前正在从事一个项目,但由于不断出现错误而无法继续,我不知道为什么,但也许你们会知道。当我填写我的表格并想将我的数据插入数据库时​​,我收到错误反馈帐户创建失败。在下面。

代码如下:

    // write new users data into database
$sql = "INSERT INTO users (user_name, user_password_hash, user_email, user_creation_timestamp, user_activation_hash, user_provider_type, user_persnaam, user_bondsnummer, user_telefoonnummer, user_leeftijd, user_enkelsterkte, user_dubbelsterkte, user_geslacht)
VALUES (:user_name, :user_password_hash, :user_email, :user_creation_timestamp, :user_activation_hash, :user_provider_type, :user_persnaam, :user_bondsnummer, :user_telefoonnummer, :user_leeftijd, :user_dubbelsterkte, :user_enkelsterkte, :user_geslacht)";
$query = $this->db->prepare($sql);
$query->execute(array(':user_name' => $user_name,
':user_password_hash' => $user_password_hash,
':user_email' => $user_email,
':user_persnaam' => $user_persnaam,
':user_bondsnummer' => $user_bondsnummer,
":user_telefoonnummer" => $user_telefoonnummer,
":user_enkelsterkte" => $user_enkelsterkte,
":user_dubbelsterkte" => $user_dubbelsterkte,
":user_leeftijd" => $user_leeftijd,
':user_geslacht' => $user_geslacht,
':user_creation_timestamp' => $user_creation_timestamp,
':user_activation_hash' => $user_activation_hash,
':user_provider_type' => 'DEFAULT'));
$count = $query->rowCount();
if ($count != 1) {
$_SESSION["feedback_negative"][] = FEEDBACK_ACCOUNT_CREATION_FAILED;
return false;
}

问题似乎是我无法将任何内容写入我的数据库,但我确信我可以连接并更新所有内容但不能写入。所以问题不在于与数据库的连接。我认为这与行数有关,但也许你们知道出了什么问题。双引号不是我已经检查过的问题。

提前致谢

最佳答案

我不知道这是否有帮助,@fred 给了你一些线索,你说你确定连接是好的。这是我抓到的:

INSERT INTO users 
(user_name,
user_password_hash,
user_email,
user_creation_timestamp,
user_activation_hash,
user_provider_type,
user_persnaam,
user_bondsnummer,
user_telefoonnummer,
user_leeftijd,
user_enkelsterkte, /* here user_enkelsterkte is first */
user_dubbelsterkte, /* here user_dubbelsterkte is second */
user_geslacht)
VALUES (:user_name,
:user_password_hash,
:user_email,
:user_creation_timestamp,
:user_activation_hash,
:user_provider_type,
:user_persnaam,
:user_bondsnummer,
:user_telefoonnummer,
:user_leeftijd,
:user_dubbelsterkte, /* here user_dubbelsterkte is first */
:user_enkelsterkte, /* here user_enkelsterkte is second */
:user_geslacht)

如果列类型或长度不匹配,它将失败。

这是编写代码的更好方法:

$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($query = $this->db->prepare($sql)) {
// put code here
}else{
echo "\nPDO::errorInfo():\n";
print_r($this->db->errorInfo());
}

您可以对连接进行错误检查,prepare()execute()

现在您应该找出是否出现错误。

关于php - 无法在数据库 $count 中写入数据!= 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607073/

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