Php 检测到编码错误,必须由程序员修复:insert_records()传递的不可遍历对象

Php 检测到编码错误,必须由程序员修复:insert_records()传递的不可遍历对象,php,mysql,arrays,insert,moodle,Php,Mysql,Arrays,Insert,Moodle,我想将我的表单数据插入到moodledb 我有两个表,每次我试图同时插入时都需要更新 这是我的密码 $result = $DB->update_record('newmodule', $newmodule); if (!$DB->get_record('newmodule1', array('course_id' => $newmodule->id))) { //now i need to insert data to db //object builder

我想将我的表单数据插入到moodledb

我有两个表,每次我试图同时插入时都需要更新

这是我的密码

$result = $DB->update_record('newmodule', $newmodule);

if (!$DB->get_record('newmodule1', array('course_id' => $newmodule->id))) {
  //now i need to insert data to db
//object builder 
    foreach ($newmodule as $key => $value) {

        if($key == 'time' || $key == 'audio' || $key == 'entxt' || $key == 'fatxt' || $key == 'url'){
            $new->$key = $value;
        }elseif ($key == 'id') {
            $new->course_id = $value;
        }

    }
//just trying for finding a way 

        $result = $DB->insert_records('newmodule1', $new);


    }
每次尝试插入数据时,我都会得到这个

检测到编码错误,必须由程序员修复: insert_records()传递的不可遍历对象


如何拆分stdclass,然后将每个部分插入数据库?

好的,我找到了有效的解决方案

        for ($i=0; $i <=count($newmodule->time); $i++) { 
            $new->course_id = $newmodule->id;
            $new->videourl  = $newmodule->url;
            $new->audio     = $newmodule->audio[$i];
            $new->time      = $newmodule->time[$i];
            $new->entxt     = $newmodule->entxt[$i];
            $new->fatxt     = $newmodule->fatxt[$i];
            $DB->insert_record('newmodule1', $new);

            unset($new);
        }
用于($i=0;$i时间)$i++{
$new->course\u id=$newmodule->id;
$new->videourl=$newmodule->url;
$new->audio=$newmodule->audio[$i];
$new->time=$newmodule->time[$i];
$new->entxt=$newmodule->entxt[$i];
$new->fatxt=$newmodule->fatxt[$i];
$DB->insert_记录('newmodule1',$new);
未结算(新);
}
我所做的只是读取数组对象,然后创建新对象,然后将其提交给db,然后取消设置所有创建的对象,仅此而已


ps:哈哈,我的问题被否定了,因为有一个人对moodle一无所知!!!哇

那么问题是什么,请说得更具体一点,这
stdClass
在哪里/是什么,您想拆分请阅读并@riggsfully抱歉,伙计,我想标题会解释一切!我的问题是不可遍历对象!你在哪一行得到了这个错误,这个错误真的发生了吗?尝试添加
错误报告(E_ALL);ini设置('display\u errors',1)
位于页面顶部