Оператор MySQL «bind_param», похоже, не работает — UserCake cutomization

Поэтому я работаю над проектом, используя UserCake. Я добавил поля в таблицу «пользователи». Пока все отлично работает. У меня возникает проблема, когда вы регистрируетесь, она возвращается успешно, но оператор SQL не поместил данные базы данных в базу данных.

До сих пор я успешно добавлял необходимые поля, и я могу извлекать данные из этих полей, однако я не могу перенести данные в базу данных. У меня есть ощущение, что это связано с оператором bind_param, но я не уверен. Вот с чем я имею дело:

РЕДАКТИРОВАТЬ 9/30 17:00 >>> Единственная проблема на данный момент заключается в том, что данные не заносятся в таблицу.

$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, $ ActivRequest, $ 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) НЕ NULL,

email varchar (150) NOT NULL,

activation_token varchar (225) НЕ NULL,

last_activation_request int (11) NOT NULL,

lost_password_request tinyint (1) НЕ NULL,

active tinyint (1) НЕ NULL,

title varchar (150) NOT NULL,

sign_up_stamp int (11) NOT NULL,

last_sign_in_stamp int (11) NOT NULL,

company varchar (50) DEFAULT NULL,

address_1 varchar (50) NOT NULL,

address_2 varchar (50) NOT NULL,

city varchar (50) NOT NULL,

state varchar (20) НЕ NULL,

zip int (5) NOT NULL,

paid tinyint (1) НЕ NULL,

first_name varchar (50) NOT NULL,

last_name varchar (50) NOT NULL

) ENGINE = InnoDB CHARSET ПО УМОЛЧАНИЮ = utf8 AUTO_INCREMENT = 3;

0

Решение

Поле Company на вашем столе не позволяя NULL значения, но вы посылаете его null как я вижу в Вашем вопросе (раздел print_r ($ this)).

Таким образом, у вас есть 2 способа решить эту проблему,

  1. Если вы действительно нуждаетесь в компании, задайте для нее поле «Компания» и проверьте его во время проверки (после отправки запроса), это избавит вас от подобных проблем.
  2. В противном случае измените ваш company поле в базе данных, и разрешить NULL для него.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]