gpt4 book ai didi

php - MySQL 'bind_param' 语句似乎不起作用 - 使用 Cake 定制

转载 作者:行者123 更新时间:2023-11-29 23:41:40 24 4
gpt4 key购买 nike

所以我正在使用 UserCake 开发一个项目。我已将字段添加到“用户”表中。到目前为止,一切都很好。我遇到的问题是,当您注册时,它返回成功,但 SQL 语句没有将任何表单数据放入数据库。

到目前为止,我已经成功添加了必要的字段,并且我能够从这些字段中提取数据,但是我无法将数据推送到数据库。我有一种感觉,这与 bind_param 语句有关,但我不确定。这是我正在处理的事情:

编辑 9 月 30 日下午 5 点 >>> 此时唯一的问题是数据未放入表中。

$stmt = $mysqli->prepare("INSERT INTO ".$db_table_prefix."users (
password,
email,
activation_token,
last_activation_request,
lost_password_request,
active,
title,
sign_up_stamp,
last_sign_in_stamp,
company,
address_1,
address_2,
city,
state,
zip,
paid,
first_name,
last_name
)
VALUES (
?,
?,
?,
'".time()."',
'0',
?,
'New Member',
'".time()."',
'0',
?,
?,
?,
?,
?,
?,
'0',
?,
?
)");

$stmt->bind_param("sssisssssiiss", $secure_pass, $this->clean_email, $this->activation_token, $this->user_active, $this->company, $this->address_1, $this->address_2, $this->city, $this->state, $this->zip, $this->first_name, $this->last_name);
$stmt->execute();
print_r($stmt);
$inserted_id = $mysqli->insert_id;
$stmt->close();

编辑>>>解决了空数组问题

我这样称呼新用户: $user = 新用户($password, $email, $token, $activationRequest, $passwordRequest, $active, $title, $signUp, $signIn, $company, $address_1, $address_2, $city, $state, $zip , $paid, $first_name, $last_name);

编辑>>>表uc_users(id int(11) NOT NULL, 密码 varchar(225) NOT NULL,

电子邮件 varchar(150) NOT NULL,

activation_token varchar(225) NOT NULL,

last_activation_request int(11) NOT NULL,

lost_password_requesttinyint(1) NOT NULL,

事件 tinyint(1) NOT NULL,

标题 varchar(150) NOT NULL,

sign_up_stamp int(11) NOT NULL,

last_sign_in_stamp int(11) NOT NULL,

公司 varchar(50) 默认为空,

address_1 varchar(50) NOT NULL,

address_2 varchar(50) NOT NULL,

城市 varchar(50) NOT NULL,

状态 varchar(20) NOT NULL,

zip int(5) NOT NULL,

付费tinyint(1) NOT NULL,

名字 varchar(50) NOT NULL,

last_name varchar(50) NOT NULL

) ENGINE=InnoDB 默认字符集=utf8 AUTO_INCRMENT=3 ;

最佳答案

您表上的字段Company不允许NULL值,但您发送它null,正如我在您的问题中看到的那样( print_r ($this) 部分)。

所以你有两种方法来解决这个问题,

  1. 如果您确实需要公司,请按要求设置“公司”字段,并在验证过程中(发送查询后)检查它,这将使您远离此类问题。
  2. 否则请更改数据库中的company 字段,并允许使用 NULL。

关于php - MySQL 'bind_param' 语句似乎不起作用 - 使用 Cake 定制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26128928/

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