PHP print_r使用了两次,只运行一次,无法找出原因

时间:2017-03-27 20:35:38

标签: php pdo

我正在学习连接到我的数据库并创建/读取/更新/删除不同表中的信息。目前我使用的是PDO而不是mysqli,因为我可以更轻松地准备好语句。我现在想做的事实上并没有任何价值,我只是想知道为什么会发生这种情况。这是我的代码:

//pdo connection
try {
  $conn = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  //READ FROM DB
  $stmt = $conn->prepare('SELECT * FROM objects where ID = :id');
  $stmt->execute(array(':id'=>8));

  print_r($stmt->fetch(PDO::FETCH_OBJ));

  while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
    $results[] = $row;
  }

  print_r($results);

  } catch(PDOException $e) {
      echo 'ERROR: ' . $e->getMessage();
  }

现在,发生的事情是,如果我按此顺序print_r,那么只有第一个print_r可以正常工作,反之亦然(假设我也使用{{1}移动while循环为什么我只被允许这样做一次,取决于第一个否定第二个?

编辑:澄清。

0 个答案:

没有答案