2016-10-04 137 views
-2

我是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; 
+0

你确定你要进入你的if语句吗?你可以做$ _POST变量之一的var_dump()吗? – KatharaDarko

+1

为此发布html表单。你有一个错字,但这不是唯一的错误。 –

+0

你也不能使用'bindParam()'做'password_hash($ _ POST ['password'],PASSWORD_BCRYPT)',关于“严格标准”你会得到一个错误。 –

回答

-2

如果您的报表中有您的错字

if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['passowrd'])) 
                      ^^ 
+0

哇!...我不觉得自己像个白痴.... –

-1

你在你的病情有一个错字: ...空($ _ POST [” passowrd']))...

+0

看到了,谢谢 –