出勤しましたので,もう少し詳しい情報を追加します.
条件に合致するレコードの内容を一つだけ取得するならばfunction get_record(),複数取得するならばfunction get_records()が手軽です.
- function get_record($table, $field1, $value1, $field2='', $value2='', $field3='', $value3='', $fields='*')
- function get_records($table, $field='', $value='', $sort='', $fields='*', $limitfrom='', $limitnum='')
$tableには検索したDBのテーブル名を指定します.mdl_などの接頭語は省略,たとえば'course'を指定したら'mdl_course'が検索対象になります.get_record()の場合は$field1,2,3, $value1,2,3はそれぞれペアで,field1, value1が必須です.こんな感じで使います.
if (!$course = get_record('course', 'id', $course)) {
return false; // invalid course id
}
mdl_courseのテーブルの中で,idが$courseと一致するレコードを一つ(しか存在しませんね)$courseにオブジェクトの形式で取得できます.mdl_courseの全てのフィールドが含まれます.もしidの値を参照したいのであれば$course->id,短縮名が参照したいのであれば$course->shortnameでフィールドの値を取得できます.$field2 == $value2, $field3 == $value3のAND条件を追加して条件を狭めることもできます.最後の引数$filedsはSELECTしたいフィールドを制限したい場合に指定します.デフォルトでは'*'ですね.
function get_records()の戻り値は配列です.こちらは検索の条件が一組のみですね.
既に存在するレコードを更新したい場合は,function update_record(),新たにレコードを追加したい場合はfunction insert_record(),削除したい場合はfunction delete_records()など.
もう少し細かい制御を行いたい場合はfunction get_reord_sql()などを使用する(←これは詳しく知りません)のだと思います.
まずは,lib/dmlib.phpを見て下さい.それと本体のソース中で上記function get_record()などがどのように使われているのかを参考にすれば挙動がある程度,理解できるでしょう.
#PEARではありません.