PHP准备语句:回应结果

时间:2016-04-24 14:41:13

标签: php mysql pdo

我想通过Echo显示结果('Positio:2'或'Position:1') 但是$ statement是PDOStatement类的Object而不是String,我怎样才能看到$ statement的结果呢?谢谢

<?php
$pdo = new PDO('mysql:host=localhost;dbname=testdb1', 'root', '');

    $idV = $_GET['id'];

$statement = $pdo->prepare("SELECT position FROM idtabelle WHERE idnumber = ?");
$statement->execute(array($idV));

echo "Position: //$result_Of_Statement\\  ";
?>

2 个答案:

答案 0 :(得分:0)

我会获取结果并使用print_rvar_dump来快速查看结果。

$statement = $pdo->prepare("SELECT position FROM idtabelle WHERE idnumber = ?");
$statement->execute(array($idV));
$result = $statement->fetch(PDO::FETCH_ASSOC); //Or fetchAll()
echo "Position: ". print_r($result);

这是检查结果的快速而肮脏的方法。如果您想添加一些格式:

$result = $statement->fetch(PDO::FETCH_ASSOC); 
for( $result as $key=>$value ){
    echo ucfirst($key) .": $value \n";
}

如果你想获得多行,请在每次迭代中获取新行的循环中包装

while( $result = $statement->fetch(PDO::FETCH_ASSOC) ){
  echo "===New Row===";
  for( $result as $key=>$value ){
    echo ucfirst($key) .": $value \n";
  }
}

答案 1 :(得分:0)

我将如何做到这一点:

$statement = $pdo->prepare("SELECT position FROM idtabelle WHERE idnumber = :idV");
$statement->bindParam(':idV', $idV);
$statement->execute();
while ($row = $statement->fetch(PDO::FETCH_ASSOC))
{
  echo $row['position'];
}

如果你愿意的话,你也可以取消使用while循环。