我想显示一个需要两个先前查询的结果;当我试图用新的 Mysqli 界面做这些事情时,我没有让它以正确的方式工作。
我有这个,输出是:Warning: mysqli::prepare() [mysqli.prepare]: All data must be fetched before a new statement prepare 发生
$qryRdmPh="SELECT `id` FROM `table` ORDER BY RAND() LIMIT 0,30";
$stmtRdmPh = $mysqli->prepare($qryRdmPh);
$stmtRdmPh->execute();
$stmtRdmPh->bind_result($id);
while($stmtRdmPh->fetch()) {
//Obtener el atributo Frase
$qryPhVal="SELECT `id_v` FROM `values` WHERE `id_p`='" . $id . "'";
$stmtPhVal = $mysqli->prepare($qryPhVal);
$stmtPhVal->execute();
$stmtPhVal->bind_result($idV);
while($stmtPhVal->fetch()){
echo $idV;
}
}
必须有另一种方法来显示没有如此复杂规则的结果......我已经读过使用语句查询非常重要,但为什么呢?它使我的代码变得更长更复杂。
编辑:如果有人向我解释声明是否如此重要,以及我是否应该始终使用它们,我将非常感谢。