在多个位置显示SQL搜索的结果

时间:2018-03-05 15:11:52

标签: php sql

我试图在多个地方显示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查询吗?似乎必须有一个更好的方法。

1 个答案:

答案 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>");
 }