【问题标题】:PHP PDO - Show a particular row and columnPHP PDO - 显示特定的行和列
【发布时间】:2015-07-15 02:02:58
【问题描述】:

我需要显示一些特定的数据库行和列

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

这是第一个产品

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

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

My 3rd product is: <?php echo $row_products[2]->name; ?>
and my 6th product is: <?php echo $row_products[5]->name; ?>

【问题讨论】:

  • 您的具体要求是什么?

标签: php mysql pdo row fetch


【解决方案1】:

您可以使用-&gt;fetchAll 代替-&gt;fetch

【讨论】:

  • 对这个答案的一些解释会对这个提问者以及其他后来找到这个答案的人有所帮助
【解决方案2】:

您可以通过将$products-&gt;fetch 替换为$products-&gt;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;
}

【讨论】:

    【解决方案3】:

    感谢 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;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 2017-02-25
      • 2015-01-06
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多