だから私はUserCakeを使ったプロジェクトに取り組んでいます。「users」テーブルにフィールドを追加しました。これまでのところ、すべてがうまく機能しています。私が抱えている問題は、登録時に成功したことを返しますが、SQL ステートメントはフォーム データをデータベースに入れませんでした。
これまでのところ、必要なフィールドの追加に成功しており、それらのフィールドからデータを取得することはできますが、データをデータベースにプッシュすることはできません。bind_param ステートメントに関係しているように感じますが、よくわかりません。これが私が扱っているものです:
EDIT 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) NOT NULL、
lost_password_request
tinyint(1) NOT NULL,
active
tinyint(1) NOT NULL,
title
varchar(150) NOT NULL,
sign_up_stamp
int(11) NOT NULL、
last_sign_in_stamp
int(11) NOT NULL、
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) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;