PHP PDO - 显示特定的行和列

时间:2015-05-05 11:05:55

标签: php mysql pdo row fetch

我需要显示一些特定的DataBase行和列

Brickhouse

这显示了第一个产品

// my query
$products = $conn->prepare("SELECT * FROM products");
$products->execute();
$row_products = $products->fetch(PDO::FETCH_ASSOC);
$totalRows_products=$products->rowCount();

但我需要展示一些特别的行 我不能使用DO或WHILE,因为它不能顺序 像这样的东西,但它不起作用:

echo $row_products->name;
echo $row_products->value;`

3 个答案:

答案 0 :(得分:0)

您可以使用->fetchAll代替->fetch

答案 1 :(得分:0)

您可以将$products->fetch替换为$products->fetchAll

来获取所有记录
<?php
$products = $conn->prepare("SELECT * FROM products");
$products->execute();
$row_products = $products->fetchAll(PDO::FETCH_ASSOC);
$totalRows_products = count($row_products):

// $row_products contains all the rows. You can even loop :
for ($i = 0; $i < $totalRows_products; ++$i)
{
    echo 'Row n° '.($i + 1).' : ';
    echo $row_products[$i]->name.' '.$row_products[$i]->value;
}

答案 2 :(得分:0)

感谢FHanisch和Heru-Luin的回答

使用fetchAll是不够的。

我必须将PDO::FETCH_ASSOC更改为PDO::FETCH_OBJ

<?php
$products = $conn->prepare("SELECT * FROM products");
$products->execute();
$row_products = $products->fetchAll(PDO::FETCH_OBJ);
$totalRows_products=$products->rowCount();

echo 'My 6th product: '.$row_products[5]->name;
?>