所以我正在使用 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 = new 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,
password
varchar(225) NOT NULL,
email
varchar(150) 非空,
activation_token
varchar(225) 非空,
last_activation_request
int(11) 非空,
lost_password_request
tinyint(1) 非空,
active
tinyint(1) 非空,
title
varchar(150) 非空,
sign_up_stamp
int(11) 非空,
last_sign_in_stamp
int(11) 非空,
company
varchar(50) 默认为空,
address_1
varchar(50) 非空,
address_2
varchar(50) 非空,
city
varchar(50) 非空,
state
varchar(20) 非空,
zip
int(5) 非空,
paid
tinyint(1) 非空,
first_name
varchar(50) 非空,
last_name
varchar(50) 非空
) 引擎=InnoDB 默认字符集=utf8 AUTO_INCREMENT=3 ;