1

私はmoodleが初めてです。独自の PHP スクリプトを使用して、moodle データベースにクエリを実行しようとしています。データ操作 API を使用していますが、何も取得できないようです。これを達成するために私が取るべきステップは何ですか。$DB グローバル変数にアクセスし、DML API の機能にアクセスできるように、moodle に config.php ファイルを含める必要があるというガイドラインをあちこちで見てきました。以下は私のコードです:

<?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

0

私はあなたが間違った道を与えていると思います。あなたが与えているパスが正しいことを確認してください

require_once('path_from_rootdir to config.php');

注: config.php への path_from_rootdir は、「/」で区切られたパスの間の config.php と各ディレクトリへのパスです。

于 2013-11-07T11:33:18.083 に答える
0

これには2つの問題があります(質問に書かれているように)Moodleの4行コード-

require '../config.php';

ここでコードにエラーが表示されます - 「PHP 警告: require(../config.php): ストリームを開くことができませんでした」パスを確認して、config.php の正しいパスを入力してください。

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

Moodle DML API を使用している間、{} 内のテーブル名の前にテーブル プレフィックス (デフォルトでは mdl_) を追加してはなりません。したがって、{mdl_user} の代わりに {user} のみが存在する必要があります。

于 2014-01-20T12:41:33.790 に答える