2014-12-07 42 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