我是PHP和MySQL的新手。我正在嘗試開發學生信息系統。下面是我用來從表單向數據庫插入信息的代碼,但是當我提交表單時似乎沒有工作。請告訴我哪裏可能會出錯。使用PDO將數據插入MySQL DB
該表如下:
CREATE TABLE IF NOT EXISTS `sims`.`tbl_users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NULL,
`email` VARCHAR(100) NULL,
`password` VARCHAR(200) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
插入代碼如下:
//Create new user
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['password'])):
$sql="INSERT INTO tbl_users (name, email, password) VALUES (:name, :email, :password)";
$stmt=$conn->prepare($sql);
$stmt->bindParam(':name',$_POST['name']);
$stmt->bindParam(':email',$_POST['email']);
$stmt->bindParam(':password',password_hash($_POST['password'], PASSWORD_BCRYPT));
if($stmt->execute()):
die('Success');
else:
die('fail');
endif;
endif;
你確定你要進入你的if語句嗎?你可以做$ _POST變量之一的var_dump()嗎? – KatharaDarko
爲此發佈html表單。你有一個錯字,但這不是唯一的錯誤。 –
你也不能使用'bindParam()'做'password_hash($ _ POST ['password'],PASSWORD_BCRYPT)',關於「嚴格標準」你會得到一個錯誤。 –