2016-04-24 81 views
-3

我想通過Echo 顯示結果('Positio:2'或'Position:1'),但是$ statement是類PDoStatement的對象而不是String,我如何讓它只看到$語句的結果?謝謝PHP準備好的語句:回聲結果

<?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\\ "; 
?> 

回答

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循環。

+0

它的工作原理,但只與爲什麼?我只需要回一件事,所以我仍然需要一段時間? – DroiDar

+0

你只需要一個結果就不需要時間。你可以刪除這段時間。另外,如果它幫助你,請+1並接受這個答案。謝謝! :) – Edward

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"; 
    } 
}