我有一个mysql表,其中包含除产品图片以外的所有产品的信息,如下所示:
watchID | watch_serial | ....>等
然后我的产品图片表如下:
picID | name_prod | watch_serial | ....>等
这两个表之间的关系键是watch_serial
第一个表中的每个手表在第二个表中可能有几张图片。因此,要获取与每个watch_serial相关的所有图片,我必须在其中一个放置mysqli SELECT查询,如下所示:
$watchQ = "SELECT `watch_serial` FROM `watch` ";
$watchSTMT= $db->prepare($watchQ);
$watchSTMT->execute();
$watchSTMT->bind_result($watch_serial );
while ( $watchSTMT->fetch()){
echo $wa_serial."<br>";
$prodSEARCHq = "SELECT `name_prod` FROM ppic WHERE pserial = ?";
$prodSEARCHstms= $db->prepare($prodSEARCHq);
$prodSEARCHstms->bind_param("s",$watch_serial);
$prodSEARCHstms->execute();
$prodSEARCHstms->bind_result($name_prod);
while ($prodSEARCHstms->fetch()){
echo $name_prod;
}
$prodSEARCHstms->close();
}
如果我将它们分开并分别运行,则上面的查询将正确地回显结果,但是如果我像上面看到的那样混合循环,则会得到以下错误:
RAAA0009L19B
致命错误:未捕获错误:在/Applications/XAMPP/xamppfiles/htdocs/watche.php:7535中对布尔值上的成员函数bind_param()进行调用:7535堆栈跟踪:#0 {main}放在/ Applications / XAMPP / xamppfiles中/htdocs/watche.php,第7535行
将在以下行中:
$prodSEARCHstms->bind_param("s",$watch_serial);
我确保bind_param条件全部设置正确。
我已经检查了此处提供的解决方案:Executing mysqli prepared statment within while loop that's within another while loop
不幸的是,我仍然遇到相同的错误。
这是由于在获取另一个查询的循环中运行查询而发生的吗?我没有其他方法可以从第一个查询中获取搜索关键字,而不是从我自己的代码中获取其他信息,请帮帮我,因为我尝试了很多类似的方法,但都出现了致命错误