2014-12-07 72 views
0

我已經連接到數據庫,所以我明白我的連接是好的,我也使用MVC和PDO,但是當插入表時,它給了我隨機值而不是從post變量中設置的值,例如我的表格在每列下插入'1',而不是設置值。這是我的代碼:查詢將隨機的東西插入數據庫表?

這是在我的寄存器類的功能:

public function signup($email,$password,$firstname,$lastname,$mobile){ 


    $query = 'INSERT INTO testing (username, password, first_name, last_name, mobile) VALUES (:email, :password, :firstname, :lastname, :mobile)'; 

    //putting it in a variable 
    $statement = $this->_dbHandle->prepare($query); 

    //variables 
    $statement->bindParam(':email', $email); 
    $statement->bindParam(':password', $password); 
    $statement->bindParam(':firstname', $firstname); 
    $statement->bindParam(':lastname', $lastname); 
    $statement->bindParam(':mobile', $mobile); 


    // Then execute the query 
    $statement->execute(); 


    return $statement->fetch(PDO::FETCH_ASSOC); 


    } 

這就是即時使從(我的register.php控制器)的參數:

<?php 
require_once("Models/reg.php"); 
require_once("Views/register.phtml"); 
$view = new stdClass(); 
$view->pageTitle = 'Register'; 


$registerUser = new reg(); 


if(isset($_POST["email"]) && isset($_POST["password"]) && isset($_POST["firstname"]) && isset($_POST["lastname"]) && isset($_POST["mobile"])) 
{ 
$registerQuery = $registerUser->signup(isset($_POST["email"]),isset($_POST["password"]),isset($_POST["firstname"]),isset($_POST["lastname"]),isset($_POST["mobile"])); 
} 

而在我的phtml文件我有名稱,如「電子郵件」,「密碼」,「名字」,「姓氏」,「移動」的文本框

有沒有人明白我在做什麼錯?

+0

有你確認後變量的內容是正確的什麼在你提交給表之前? – Joe 2014-12-07 22:18:00

回答

3

isset($_POST["email"])返回1(或0,如果假) 讓你得到你告訴它放在DB簡單地去掉isset()■

if(isset($_POST["email"]) && isset($_POST["password"]) && isset($_POST["firstname"]) && isset($_POST["lastname"]) && isset($_POST["mobile"])) 
{ 
$registerQuery = $registerUser->signup($_POST["email"],$_POST["password"],$_POST["firstname"],$_POST["lastname"],$_POST["mobile"]); 
} 
+0

謝謝,這工作:) – 2014-12-07 22:30:34