如何在moodle中使用插入记录功能

如何在moodle中使用插入记录功能,moodle,moodle-api,Moodle,Moodle Api,我正在尝试使用moodle将记录插入数据库 我使用的是1.9.19版。我正在尝试以下代码: <?php require_once('config.php'); require_once('uplo.php'); $mform = new uplo(); $mform->display(); if(isset($_POST['submitbutton'])){ $name = $mform->get_data('name'); $email =

我正在尝试使用moodle将记录插入数据库

我使用的是1.9.19版。我正在尝试以下代码:

<?php
  require_once('config.php');
  require_once('uplo.php');

  $mform = new uplo();

  $mform->display();

  if(isset($_POST['submitbutton'])){

  $name = $mform->get_data('name');
  $email = $mform->get_data('email');

  $table='mdl_tet';

  $res=insert_record($table, '$name','$email') ;

 }  
?>

但这并不正确。如何正确地做到这一点

注意:为什么使用1.9.19表示我的客户端使用此版本,因此我无法更改版本。

insert_record()函数接受两个参数-表名(不带前缀)和包含要插入到表中的数据的对象

因此,在这种情况下,您应该编写如下内容:

$ins = (object)array('name' => $name, 'email' => $email);
$ins->id = insert_record('tet', $ins);
或:


(顺便说一句,请确保启用调试功能,这将使您的生活更加轻松)。

我正在尝试,但它对我不起作用。如果您已经创建了一个名为mdl_tet的表,并且config.php文件中的$CFG->prefix设置为“mdl_”(默认值),那么我显示的insert_record()代码就可以工作了。如果它不起作用,那么(通过调试),您几乎肯定会得到一条有用的错误消息输出(如果不起作用,请查看web服务器日志并报告在那里找到的错误消息)。我有一个类似这样的错误:-可捕获的致命错误:stdClass类的对象无法转换为D:\xampp\htdocs\moodel\server\moodle\lib\adodb\drivers\adodb-mysql.inc.php中的字符串,这表明$ins至少有一个属性是对象-例如$ins->name=new stdClass()。尝试var_dump($ins)(就在insert_记录行之前,查看插入的内容)。如果使用var_dump,则表示:{[“MAX_FILE_SIZE”]=>string(9)“786432000”[“name”]=>string(2)“ra”[“email”]=>string(13)”jat@gmail.com“[“提交按钮”]=>string(12)“保存更改”}
$ins = new stdClass();
$ins->name = $name;
$ins->email = $email;
$ins->id = insert_record('tet', $ins);