こんにちは、mysql に 6 つのフィールドを持つテーブルがあります
ID, mobileNumber, firstName, lastName, email, password , rollID
ID は自動インクリメントで、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 を返すので、心配する必要はありません。どこが間違っているのかわかりません。構文にありますか? またはロールID cosで静的にしますか?助けてくれてありがとう:)