Привет У меня есть таблицы в MySQL есть шесть полейPDO базы данных вставить
ID, mobileNumber, firstName, lastName, email, password , rollID
идентификатор автоинкремент и я хочу, чтобы вставить его с помощью PHP
PHP код
public function run($firstName, $lastName, $mobileNumber, $email, $password, $rePassword) {
if (!$this->db->isExistedMobile($mobileNumber)) {
try {
$query = "INSERT INTO user (firstName, lastName, mobileNumber, email, password, rollID)
VALUES (:firstName, :lastName, :mobileNumber, :email, :password, 'rollID')";
$sth = $this->db->prepare($query);
$sth->execute(array(
':firstName' => $firstName,
':lastName' => $lastName,
':mobileNumber' => $mobileNumber,
':email' => $email,
':password' => $password,
':rollID' => "roma"
));
header("location: " . URL . "index");
} catch (PDOException $e) {
die($e->getMessage());
exit;
}
} else {
include 'controlers/Error.php';
$error = new Error();
$error->index("you enterd a used mobile number");
}
}
я есть это исключение
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
функция isExistedMobile всегда возвращает false, поэтому не беспокойтесь об этом, я не знаю, где это неправильно, это в синтаксисе? или в rollID cos i сделать его статическим? спасибо за помощь :)
-2? Почему так ? ? ? –
Я хочу, чтобы ddd был статичным –
(я не спускал вниз). Можете ли вы объяснить, что происходит не так? Один * предполагает * запись не вставляется в базу данных, как ожидалось, но вы на самом деле не говорите об этом. Или, возможно, это перенаправление, которое работает не так, как ожидалось? Нотабене Стоит установить '$ this-> db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);' во время отладки, чтобы выводились ошибки PDO. – eggyal