我试图在多个地方显示SQL搜索的结果,但我似乎只能打印一次(第一次调用它)。
这就是我所拥有的:
$stmt = $connection->prepare("SELECT DISTINCT genre FROM movies");
$stmt->execute();
$results = $stmt->get_result();
while ($row = mysqli_fetch_array($results)){
print ($row['genre'] . "<br>");
}
对我而言,这样做会“消耗”所有结果,所以如果我再次打电话给那些,那就什么都没有,因此它什么都不打印。
那么,是否可以将结果复制到另一个变量以供以后使用?我试过了:
$results2 = $results;
$results2 = array();
$results2 = $results;
$results2 = new stdClass();
$results2 = $results;
但是我一直得到相同的结果......并在第一次调用后清空数组。
我只需要再次调用SQL查询吗?似乎必须有一个更好的方法。
答案 0 :(得分:0)
正如评论中所提到的,不是每次都提取它们,而是存储结果,然后在每次需要使用它们时简单地循环它们......
$stmt = $connection->prepare("SELECT DISTINCT genre FROM movies");
$stmt->execute();
$results = $stmt->get_result();
$movies = mysqli_fetch_all($results);
foreach ( $movies as $row){
print ($row['genre'] . "<br>");
}