[英]MySQL 'bind_param' statement doesn't seem to work - UserCake cutomization
所以我正在使用UserCake進行項目。 我已將字段添加到“用戶”表。 到目前為止,一切正常。 我遇到的問題是注冊時返回成功,但是SQL語句未將任何表單數據放入數據庫中。
到目前為止,我已經成功添加了必填字段,並且能夠從這些字段中提取數據,但是,我無法將數據推送到數據庫中。 我覺得這與bind_param語句有關,但是我不確定。 這是我要處理的內容:
編輯9/30 5pm >>>這時唯一的問題是沒有將數據放入表中。
$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)NOT NULL,
activation_token
varchar(225)NOT NULL,
last_activation_request
int(11)非空,
lost_password_request
tinyint(1)非空,
active
tinyint(1)NOT NULL,
title
varchar(150)NOT NULL,
sign_up_stamp
int(11)非空,
last_sign_in_stamp
int(11)非空,
company
varchar(50)默認為NULL,
address_1
varchar(50)NOT NULL,
address_2
varchar(50)NOT NULL,
city
varchar(50)NOT NULL,
state
varchar(20)NOT NULL,
zip
int(5)NOT NULL,
paid
tinyint(1)NOT NULL,
first_name
varchar(50)NOT NULL,
last_name
varchar(50)非空
)ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 3;
您表上的字段Company
不允許NULL
值,但是您將其發送為null
正如我在您的問題(print_r($ this)部分)中看到的那樣。
因此,您有2種方法可以解決此問題,
company
字段,並允許使用NULL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.