2016-10-04 175 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

看到了,謝謝 –