2016-04-24 4 views
-3

Я хочу отобразить результат ('Positio: 2' или 'Position: 1') через Echo , но $ statement является объектом класса PDOStatement, а не строкой, как это сделать заставить его видеть только результат $ statement? Спасибо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_r или var_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"; 
    } 
} 
Смежные вопросы