php - OOP PHP 从类函数输出数据

标签 php mysql pdo

我的类中有一个函数,用于查询 MySQL 数据库中的数据,该函数将从数据库中获取大约 10 行。

示例代码:

<?php

 class details {

 public function detailsRetrieve() { 
    try {

        $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
        $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

        $sql = "SELECT * FROM table";
        $result = $con->query($sql);

        while($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $1 = $row['row1'];
        $2 = $row['row2'];
        $3 = $row['row3'];
        $4 = $row['row4'];

        }

    $con = null;   

    }catch(PDOException $e) {

    echo $e->getMessage();

    }
 }   
     }
     ?>

现在工作正常并从数据库中获取数据了。 我已将该类包含在单独的页面中,如下所示:

    <?php
    include("class/details.php"); 
    $class = new details();
    $class->detailsRetrieve();
    ?>

如何在这个新页面上实际输出变量 (1,2,3,4)?

我知道,如果我在函数内部回显这些变量中的每一个,它们将通过使用上面的代码自动显示在新页面上,但是我可以在页面上需要的位置单独输出每个变量吗?

最佳答案

您需要让 detailsRetrieve() 返回值。然后您就可以在您的页面中访问它们。

public function detailsRetrieve() { 
    try {

        $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
        $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

        $sql = "SELECT * FROM table";
        $result = $con->query($sql);

        $results = array();
        while($row = $result->fetch(PDO::FETCH_ASSOC)) {
            $results() = $row;
        }

    $con = null;   

    }catch(PDOException $e) {

    echo $e->getMessage();

    }
 }   

 $details = $class->detailsRetrieve();

 foreach ($details as $row) 
 {
     echo 'row 1: ' . $row['row1'] . '<br>';
     echo 'row 2: ' . $row['row2'] . '<br>';
     echo 'row 3: ' . $row['row3'] . '<br>';
     echo 'row 4: ' . $row['row4'] . '<br>';
  }

关于php - OOP PHP 从类函数输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14309802/

相关文章:

php - 整个页面用 PHP 重复

mysql - 更正 UPDATE 语句(并使其更安全!)

php - 调用未定义的方法 PDOStatement::setFetchMode()

php - 使用 jQuery 控制一个页面与另一个页面

php - 从 mysql 输出高效创建 json - 在唯一值中分组

php - 从 Mysql/PHP 中的字符串中删除最后 7 个字符

php - MySQL WHERE IN() 和 IN()

php - PDO 登录脚本返回 false

php - 禁用 Laravel 内置的错误处理方法

php - 在 PHP : ORA-01460: unimplemented or unreasonable conversion requested 中执行存储过程