我已连接到数据库,所以我理解我的连接很好,我也使用MVC和PDO,但是当插入表格时,它给我的是随机值而不是值例如,在每个列的每个列的表格中,从post变量中设置实际集合,而不是设置值。这是我的代码:
这是我的注册类中的函数:
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文件中,我的文字框的名称如&#34; email&#34;,&#34;密码&#34;,&#34;名字&#34;,&#34;姓氏&#34 ;,&#34;移动&#34;
有谁知道我做错了什么?
答案 0 :(得分:3)
isset($_POST["email"])
返回1(如果为false,则返回0)
所以你得到你告诉它放入数据库的内容只需删除isset()s
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"]);
}