PHP PDO输出结果在{}之外

时间:2017-06-09 13:43:44

标签: php mysql pdo

是否可以在while循环之外输出所有数据库结果? 我想在另一个回声中使用它。

$sql = $db->prepare("SELECT color FROM table WHERE type = :key");
$sql->bindValue(':key', $type, PDO::PARAM_STR);
$sql->execute();

while($rows = $sql->fetch(PDO::FETCH_BOTH)) {
      $colors = $rows ['color'];

      echo $colors; //Outputs all results
    }

echo $colors; //Outputs only last result

2 个答案:

答案 0 :(得分:2)

确定将它们存储到数组中:

$sql = $db->prepare("SELECT color FROM table WHERE type = :key");
$sql->bindValue(':key', $type, PDO::PARAM_STR);
$sql->execute();

$colors = [];
while($rows = $sql->fetch(PDO::FETCH_BOTH)) {
      $colors[] = $rows ['color'];

    }

print_r($colors) 

答案 1 :(得分:0)

不是使用while循环保存到数组,而是可以使用PDOStatement::fetchAll方法将所有结果作为数组立即获取

@echo off
start chrome.exe "%userprofile%\Desktop\Monitoring\slurm-general-view.html"
start chrome.exe "%userprofile%\Desktop\Monitoring\cluster-status.html"