如何在moodle中使用插入记录功能
我正在尝试使用moodle将记录插入数据库 我使用的是1.9.19版。我正在尝试以下代码:如何在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 =
<?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);