Php Can';t使用多个$mysqli->;将数据插入mysql;准备

Php Can';t使用多个$mysqli->;将数据插入mysql;准备,php,mysql,prepared-statement,Php,Mysql,Prepared Statement,下面是我编写的class.user.php: ` 这是我的signup.php: <?php error_reporting(0); include_once '../include/class.user.php'; //$user = new User(); if (isset($_REQUEST['submit'])){ extract($_REQUEST); $register = User::reg_user($uname,$alias,$gnder,$bdate

下面是我编写的class.user.php: ` 这是我的signup.php:

<?php
error_reporting(0);
include_once '../include/class.user.php';
//$user = new User();

if (isset($_REQUEST['submit'])){
    extract($_REQUEST);
    $register = User::reg_user($uname,$alias,$gnder,$bdate,$addr,$e_mail,$shortinfo,$usrname,$passwrd);
    if ($register) {
        $msg = 'Registration  successful <a href="../index.php">Click here</a> to login';
    } else {
        $msg = 'Registration failed. Email or Username already exits please try again';
    }
}

问题似乎在这里:

$stmt = $this->db->prepare("SELECT * FROM `user` WHERE `username` = ? or `email` = ?");
$stmt = $bind_param('ss', $username, $email)
$stmt->execute();
应该是:

$stmt = $this->db->prepare("SELECT * FROM `user` WHERE `username` = ? or `email` = ?");
$stmt->bind_param('ss', $username, $email);
$stmt->execute();
$stmt->bind_param('ssissssss', $name,$nickname,$gender,$birthdate,$address,$email,$short_info,$username,$password);
而且:

$stmt->bindParam('ssissssss', $name,$nickname,$gender,$birthdate,$address,$email,$short_info,$username,$password);
应该是:

$stmt = $this->db->prepare("SELECT * FROM `user` WHERE `username` = ? or `email` = ?");
$stmt->bind_param('ss', $username, $email);
$stmt->execute();
$stmt->bind_param('ssissssss', $name,$nickname,$gender,$birthdate,$address,$email,$short_info,$username,$password);

这就是为什么您总是打开错误报告