首页 > 解决方案 > 我们可以在 php 类的单个方法中使用两个 mysql 查询吗?

问题描述

我想知道是否可以在一个 php 类对象方法中编写两个不同的 mysql 查询并将这些结果用于另一个类方法。这是我正在尝试做的(我在这里只放了我的代码的相关部分),但我认为它不起作用:

<?php

    public function sql()
    {
        $sql = "SELECT * FROM customers";

        // Another sql
        $sql_sales = "SELECT SUM(sales) as sales FROM customers";
        // Execute this sql and result is stored in a variable
        $this->sales = $row['sales'];

        return $sql;
    }

    public function customers_list()
    {
        $sql = $this->sql();

        $customers = '
        <div id="customers">
            <div id="customers_num"><span>'.$this->sales.'</span> Sales</div>
        </div>';
        return $customers;
    }

?>

$this->sales我们可以在另一个方法中使用变量的值吗?

如果不是,那么获得它的价值的正确方法是什么?

标签: phpmysqloop

解决方案


如果您的代码在一个类中并且您使用的是实例化对象:

PHP 基础

当从对象上下文中调用方法时,伪变量 $this 可用。$this 是对调用对象的引用

因此,您可以在其方法中访问任何对象属性。

在您的特定情况下$this->sales = $row['sales'];,在其属性中存储一个值,该值sales 可以在对象范围内的任何其他位置使用。


推荐阅读