【发布时间】:2017-04-04 02:44:16
【问题描述】:
此查询由wordnet 本身提供,用于从名为 dict 的视图中检索单词信息,例如定义、示例等。它工作了一个月,但现在它刚刚停止工作。 此外,此查询在 phpMyadmin 中运行良好!
if ($stmt = $link->prepare("SELECT lemma,pos,sensenum,synsetid,definition ,sampleset FROM dict WHERE lemma = ? ORDER BY pos,sensenum"))
{
$stmt->bind_param("s",$Vocab);
$stmt->execute();
$stmt->bind_result($Lemma, $Pos, $Sensenum, $synsetid, $Def1, $Def2);
while($stmt->fetch())
{
$output[]=array("Pos"=>$Pos,"Sensenum"=>$Sensenum,"Def1"=>$Def1,"Def2"=>$Def2, "pDef"=>'');
}
echo "@@*@@";
print json_encode($output);
$stmt->close();
}
【问题讨论】:
-
有什么错误吗?它是否打印
echo的内容?是否有可能因为where clause不匹配而只返回零行?打印$stmt->execute()的返回。尝试使用var_dump($output)转储$output数组。 -
$stmt->execute()是否返回 TRUE?var_dump($output)打印了什么?你可以把它放在while循环之后。 -
结果是@@*@@NULL 同样的查询在 phpMyAdmin 结果很多行!
-
var_dump($output) 打印 NULL
-
此查询由 AJAX 支持给客户端,我正在提醒结果,查询没有结果,没有错误没有结果!太奇怪了!
标签: php mysql prepared-statement wordnet