我是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)',关于“严格标准”你会得到一个错误。 –