php - 在表单字段中添加电话并将值发布到数据库

标签 php mysql

<分区>

原代码如下

signup.php

if(isset($_POST['btn-signup']))
{
    $uname = trim($_POST['txtuname']);
    $email = trim($_POST['txtemail']);
    $upass = trim($_POST['txtpass']);
    $cpass = trim($_POST['txtcpass']);
    $code = md5(uniqid(rand()));

    $stmt = $reg_user->runQuery("SELECT * FROM tbl_users WHERE userEmail=:email_id");
    $stmt->execute(array(":email_id"=>$email));
    $row = $stmt->fetch(PDO::FETCH_ASSOC);

    /* some code in middle */
        if($reg_user->register($uname,$email,$upass, $code))
        {           
            $id = $reg_user->lasdID();      
            $key = base64_encode($id);
            $id = $key;

class.usr

public function register($uname,$email,$upass, $code)
    {
        try
        {                           
            $password = md5($upass);
            $stmt = $this->conn->prepare("INSERT INTO tbl_users(userName,userEmail,userPass, tokenCode) 
                                                         VALUES(:user_name, :user_mail, :user_pass, :active_code)");
            $stmt->bindparam(":user_name",$uname);
            $stmt->bindparam(":user_mail",$email);
            $stmt->bindparam(":user_pass",$password);
            $stmt->bindparam(":active_code",$code);
            $stmt->execute();   
            return $stmt;
        }

html 表单

<form>
<input id="pass2" type="password" class="input-block-level" placeholder="confirm Password" name="txtcpass" required />
</form>

我正在尝试为表单添加新的文本字段 [phone] 并将值发布到数据库中。 我将列名称创建为“电话”,我更改了一些代码如下:

$phone = trim($_POST['phone']);
if($reg_user->register($uname,$email,$upass, $code, $phone))

public function register($uname,$email,$upass, $code, $phone)
        $stmt = $this->conn->prepare("INSERT INTO tbl_users(userName,userEmail,userPass, tokenCode, phone) 
                                                         VALUES(:user_name, :user_mail, :user_pass, :active_code, phone)");
        $stmt->bindparam("phone",$phone);

但这对我不起作用,我是 php 和 mysql 的新手。

错误:

SQLSTATE[HY093]:参数编号无效:绑定(bind)变量的数量与 token 的数量不匹配抱歉,查询无法执行...

最佳答案

这个

 VALUES(:user_name, :user_mail, :user_pass, :active_code, phone)");

应该是

 VALUES(:user_name, :user_mail, :user_pass, :active_code, :phone)");

你忘记了 :phone 前面

关于php - 在表单字段中添加电话并将值发布到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39914711/

相关文章:

php - 网站站长显示带有 %5C%22 参数的重复网址

php - 仅为特定目录启用 APC?

php - 在循环内将数组数据更新到数据库

mysql - 复杂的 MysQL 查询,每次用户在同一天出现多次

mysql - Node.js 和 socket.io - 在推送数据库之前累积数据

mysql - 如何在 phpmyadmin 中一次更改大量记录

php - 'on clause' :( 中的 MySQL 未知列

php - Laravel 模型上的自定义查找方法应该是静态的吗?

PHP Select 语句需要快速更正

javascript - worklight 从 mysql 获取图像 blob