【发布时间】:2023-03-03 06:51:23
【问题描述】:
我来了
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result
resource in *filename* on line 81
在运行查询以构建图表时。该查询从 mysql db 中获取数据并使用它来构建图表。
通常,我收到此错误并转到代码并找到我搞砸的地方,修复它,然后继续。关于这个问题的棘手部分是查询实际上正在运行并且图表正在构建和准确显示。为什么我的服务器(xampp 上的 localhost)告诉我,当它可以很好地利用资源时,查询结果很糟糕?
这是完整的查询:
$chart=array();
$roll=array();
//select used terms
$rosh=mysql_query("select distinct term from search_terms");
while($roshrow=mysql_fetch_assoc($rosh)){
extract($roshrow);
$roll[]=$term;
}
//select term_number for each term
foreach($roll as $sterm){
$termarray=array();
**//following is line 81**
$bashq="select term_number from search_terms where term ='$sterm'";
$bash=mysql_query($bashq);
while($brow=mysql_fetch_assoc($bash)){
extract($brow);
//put results into array to sum
$termarray[]=$term_number;
}
$termsum=array_sum($termarray);
//put term=>number array for chart script
$chart[$sterm]=$termsum;
}
//sort array so high numbers at beginning
arsort($chart);
//slice top 10 terms
$chart=array_slice($chart,0,10);
【问题讨论】:
-
我认为您忽略了最重要的信息,即查询本身。
-
你为什么在那里使用 extract() ?你可以这样做: $roll[]=$roshrow['term'];
-
doofledorfer,我评论了代码中第 81 行的位置
-
mercutio...我出于习惯使用提取物。我应该阻止它