Php Can';t使用类方法在循环中插入数据

Php Can';t使用类方法在循环中插入数据,php,class,oop,mysqli,Php,Class,Oop,Mysqli,我正在尝试将变量$check\u for_e2值插入数据库。但是for循环只插入一次。为什么?请帮帮我 我想在每行的members表中插入变量数据。但是当我运行这段代码时,它只插入了第一个名为admin的用户名。 其他用户名Sweet,kakuly不插入数据库 require_once 'core/init.php'; $db = DB::getInstance(); if(isset($_POST["create_group"])) { $g_name = $_POST['create_g

我正在尝试将变量
$check\u for_e2
值插入数据库。但是for循环只插入一次。为什么?请帮帮我

我想在每行的members表中插入变量数据。但是当我运行这段代码时,它只插入了第一个名为admin的用户名。 其他用户名
Sweet,kakuly
不插入数据库

require_once 'core/init.php';

$db = DB::getInstance();

if(isset($_POST["create_group"])) {
$g_name = $_POST['create_group']; // $g_name = 'Simple Name';

$check_for_e = $_COOKIE["CreateGroup"]; // check_for_e = 'admin,Sweet,kakuly'
$check_for_e2 = explode(',',$check_for_e);
$arrlength = count($check_for_e2);

//print_r($check_for_e2); //Array ( [0] => admin [1] => Sweet [2] => kakuly )

// GROUP ENTRY
$g_mgs = 'grp_'.time(); //GROUP IDENTY NUMBER
$db->query("INSERT INTO all_group (`g_id`, `name`, `description`, `privacy`) VALUES (?,?,?,?)",array($g_mgs,$g_name,'member','Public'));

// ASSING GROUP MEMBERS
for($x = 0; $x < $arrlength; $x++) {
    echo $grp_mem = $check_for_e2[$x]; echo '<br>';
    $db->insert('members', array('g_id' => $g_mgs, 'usermane' => $grp_mem, 'access' => 'member'));
}

// ASSING ME AS A GROUP ADMIN
$db->insert('members', array('g_id' => $g_mgs, 'usermane' => $username, 'access' => 'admin'));


// CREATE GROUP MESSAGES TABLE
$db->query("CREATE TABLE `ekooycf_groups`.`$g_mgs` ( `username` VARCHAR(50) NOT NULL , `message` TEXT NOT NULL , `time` VARCHAR(50) NOT NULL ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_bin;");


echo $db->error();

}
require_once'core/init.php';
$db=db::getInstance();
如果(isset($\u POST[“创建组”])){
$g_name=$_POST['create_group'];//$g_name='Simple name';
$check_for_e=$_COOKIE[“CreateGroup”];//check_for_e='admin,Sweet,kakuly'
$check_for_e2=爆炸(',',$check_for_e);
$arrlength=计数($check\u for\u e2);
//print_r($check_for_e2);//数组([0]=>admin[1]=>Sweet[2]=>kakuly)
//组条目
$g_mgs='grp_'.time();//组标识号
$db->query(“插入到所有组(`g_id`、`name`、`description`、`privacy`)值(?、、?、?)”),数组($g_mgs、$g_name、'member'、'Public');
//协助小组成员
对于($x=0;$x<$arrlength;$x++){
echo$grp_mem=$check_for_e2[$x];echo'
'; $db->insert('members',array('g_id'=>$g_mgs,'usermane'=>$grp_mem,'access'=>'member'); } //任命我为团队管理员 $db->insert('members',array('g_id'=>$g_mgs,'usermane'=>$username,'access'=>'admin'); //创建组消息表 $db->query(“创建表`ekooycf_groups`.`g_mgs`(`username`VARCHAR(50)不为空,`message`TEXT不为空,`time`VARCHAR(50)不为空)ENGINE=InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_bin;”); echo$db->error(); }
DB类是

class DB {

private static $_instance = null;
private $_pdo, 
        $_query,
        $_error = false,
        $_results,
        $_count = 0;

private function __construct() {
    try {
        $this->_pdo = new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'), Config::get('mysql/username'), Config::get('mysql/password'));
        // echo "connected";
    } catch(PDOException $e) {
        die($e->getMessage());
    }
}

public static function getInstance() {
    if(!isset(self::$_instance)) {
        self::$_instance = new DB();
    }
    return self::$_instance;
}

public function query($sql, $params = array()) {
    $this->_error = false;
    if($this->_query = $this->_pdo->prepare($sql)) {
        //$this->_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // echo " Success";
        // echo "<br>".$sql."<br>";
        // print_r($params);
        $x = 1;
        if(count($params)) {
            foreach($params as $param) {
                // echo $param;
                $this->_query->bindValue($x, $param);
                $x++;
                // echo $x."<br>";
            }
        }

        if($this->_query->execute()) {
            // echo "Success";
            $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
            $this->_count = $this->_query->rowCount();
        } else {
            $this->_error = true;
        }
    }

    return $this;
}   




public function insert($table, $fields = array()) {
    if(count($fields)) {
        $keys = array_keys($fields);
        $values = null;
        $x = 1;

        foreach ($fields as $field) {
            $values .= "?";
            if($x < count($fields)) {
                $values .= ', ';
            }
            $x++;
        }

        $sql = "INSERT INTO {$table} (`".implode('`, `', $keys)."`) VALUES ({$values})";

         echo $sql;
        if(!$this->query($sql, $fields)->error()) {
            return true;
        }
    }
    return false;
}

public function error() {
    return $this->_error;
}

public function count() {
    return $this->_count;
}       

}
classdb{
私有静态$\u实例=null;
私人$(pdo),
$\u查询,
$\u错误=false,
$\u结果,
$\计数=0;
私有函数_u构造(){
试一试{
$this->_pdo=new pdo('mysql:host='.Config::get('mysql/host')。;dbname='.Config::get('mysql/db')、Config::get('mysql/username')、Config::get('mysql/password');
//回声“连接”;
}捕获(PDO$e){
死亡($e->getMessage());
}
}
公共静态函数getInstance(){
if(!isset(self:$\实例)){
self::$_instance=new DB();
}
返回self::$\u实例;
}
公共函数查询($sql,$params=array()){
$this->_error=false;
如果($this->_query=$this->_pdo->prepare($sql)){
//$this->_pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常);
//呼应“成功”;
//echo“
”$sql。”
”; //打印(参数); $x=1; 如果(计数($params)){ foreach($params作为$param){ //echo$param; $this->_query->bindValue($x,$param); $x++; //echo$x.“
”; } } 如果($this->\u query->execute()){ //呼应“成功”; $this->\u results=$this->\u query->fetchAll(PDO::FETCH\u OBJ); $this->_count=$this->_query->rowCount(); }否则{ $this->_error=true; } } 退还$this; } 公共函数插入($table,$fields=array()){ 如果(计算($fields)){ $keys=数组_键($fields); $values=null; $x=1; foreach($fields作为$field){ $value.=“?”; 如果($x<计数($fields)){ $values.=','; } $x++; } $sql=“INSERT INTO{$table}(`.”内爆(`,`,$keys)。“`)值({$VALUES})”; echo$sql; 如果(!$this->query($sql,$fields)->error()){ 返回true; } } 返回false; } 公共函数错误(){ 返回$this->\u错误; } 公共功能计数(){ 返回$this->\u计数; } }
是否从
$COOKIE
中提取正确的值?你
POST
create_group
但将
COOKIE
存储为
CreateGroup
你在回显内容,请显示打印的内容。是@richyn我提取了正确的值。我对拉取的值进行了注释。@Jeto我没有得到任何错误。但是这个脚本没有像我希望的那样工作。$\u COOKIE[“CreateGroup”]这个值COOKIE值是“admin,Sweet,kakuly”