为了账号安全,请及时绑定邮箱和手机立即绑定

我们可以在 php 类的单个方法中使用两个 mysql 查询吗?

我们可以在 php 类的单个方法中使用两个 mysql 查询吗?

PHP
慕尼黑5688855 2021-11-05 14:58:03
我想知道是否可以在一个 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在另一个方法中使用变量的值吗?如果不是,那么获得它的价值的正确方法是什么?
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

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

PHP 基础开始

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

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

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


查看完整回答
反对 回复 2021-11-05
?
catspeake

TA贡献1111条经验 获得超0个赞

我们无法像您的方法那样获得变量值。您的主查询$sql正在返回结果,但您的第二个查询的$sql_sales值没有返回。这就是为什么它在您的方法中是 undefined 属性customers_list()

解决方案是创建一个单独的方法来获取$this->sales价值。然后你可以在你的中调用这个方法customers_list()并访问它的值。


查看完整回答
反对 回复 2021-11-05
  • 2 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信