gpt4 book ai didi

mysql - 解析数组参数中的变量不适用于 get_records_select

转载 作者:行者123 更新时间:2023-11-30 00:05:44 25 4
gpt4 key购买 nike

我需要获取moodle中的类(class)列表,并将其各自的部分计算为主题数量并显示在表单中

[{"id":"1","name":"数学","topic_count":"20"},
{"id":"3","name":"地理","topic_count":"5"},].

我尝试了以下方法

//initialize an array to hold the results
$result = array("id" =>0,"name" =>" ","topic_count" =>0);
$list = "[";
$courses = $DB->get_records_sql("SELECT id,shortname FROM mdl_course WHERE id >?",array(1)) or die ("Error in executing query 1");
foreach ($courses as $course){
$id = $course->id;
$null = "NULL";
$count = $DB->get_records_select("course_sections","course = ? AND name <> ?",array("course" =>$id, "name" => $null)) or die ("Error in executing query 2");
$result["id"] = $course->id;
$result["name"] = $course->shortname;
$result["topic_count"]= sizeof($count);
//append to list
$list .='{"id":"'.$result['id'].'","name":"'.$result['name'].'","topic_count":"'.$result['topic_count'].'"},';
}
$list .="]";
echo $list;

使用这段代码我得到输出

“执行查询2时出错”

但是,当我输入特定数字(例如 2)而不是 $id 时,我会得到具有恒定节数的预期结果(当然 = 2)。请帮帮我,也许我遗漏了一个很小的点!我尝试了 get_records_sql 但没有成功。

最佳答案

您正在为查询 2 使用关联数组

要么使用

$count = $DB->get_records_select("course_sections","course = ? AND name <> ?",array($id, $null)) or die ("Error in executing query 2");

$count = $DB->get_records_select("course_sections","course = :course AND name <> :name",array("course" =>$id, "name" => $null)) or die ("Error in executing query 2");

更新:

您还可以使用它来统计记录

$DB->count_records_select('course_sections', "course = :course AND name <> :name",array("course" =>$id, "name" => $null));

http://docs.moodle.org/dev/Data_manipulation_API#Seeing_how_many_records_match_a_given_criterion

关于mysql - 解析数组参数中的变量不适用于 get_records_select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24569574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com