1

我是穆德尔的新手。我正在尝试使用我自己的 PHP 脚本查询 moodle 数据库。我正在使用数据操作 API,但我似乎无法获取任何东西。我应该采取哪些步骤来实现这一目标。我在这里和那里看到了许多指导方针,我应该在moodle中包含config.php文件,以便访问$DB全局变量,从而访问DML API的功能。以下是我的代码:

<?php
require '../config.php';
global $DB;
$user= $DB->get_record_sql('SELECT * FROM {mdl_user} WHERE id=?', array(4));
echo mysql_num_rows($user);

?>

当我尝试在 TextMate 编辑器上运行它时出现以下错误:

PHP Warning:  require(../config.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle24/sbs_android_app/database_manipulation.php on line 2
PHP Fatal error:  require(): Failed opening required '../config.php' (include_path='.:') in  /Applications/MAMP/htdocs/moodle24/sbs_android_app/database_manipulation.php on line 2

我将不胜感激...谢谢。

4

3 回答 3

6

这个错误:

PHP Warning:  require(../config.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle24/sbs_android_app/database_manipulation.php on line 2

表示脚本找不到名为 config.php 的文件。../config.php意味着脚本将尝试在脚本的父目录中打开一个名为 config.php 的文件。确保您的脚本实际上位于该位置。如果不是,我建议您更改脚本并将其移动../config.php./config.php与 config.php 相同的目录中。

因为您的脚本找不到 config.php,所以它无法连接到数据库(config.php 应该存储凭据、URL 等。)

于 2013-06-19T08:42:01.593 回答
0

这有两个问题(如问题中所写)Moodle的四行代码-

require '../config.php';

这里的代码出现错误-“PHP 警告:需要(../config.php):无法打开流”,因为正在查看 config.php 父目录&文件不存在。请检查路径并输入 config.php 的正确路径。

$user= $DB->get_record_sql('SELECT * FROM {mdl_user} WHERE id=?', array(4));

使用 Moodle DML API 时,不得在 {} 中的表名之前添加表前缀(默认为 mdl_)。因此,必须只有 {user} 代替 {mdl_user}。

于 2014-01-20T12:41:33.790 回答
0

我认为你给出了错误的路径。请确保您提供的路径是正确的,例如

require_once('path_from_rootdir to config.php');

注意:path_from_rootdir 到config.php 是config.php 的路径,每个目录之间的路径用'/'隔开。

于 2013-11-07T11:33:18.083 回答