带变量的PHP数学不起作用

带变量的PHP数学不起作用,php,mysql,Php,Mysql,mySQL数据库中有一个字段:price字段设置为float(25,2) 为什么这不会产生结果 $returnable=$trial->data()->price-100.00; 如果我只回显$trial->data()->price,我得到的记录值是1100.00,但在这个简单的数学方程中它不起作用 没有任何结果显示为美元可退款 以下是我的方法: public function find($invoice_id = null) { if($invoice_id) {

mySQL数据库中有一个字段:price字段设置为float(25,2)

为什么这不会产生结果

$returnable=$trial->data()->price-100.00;

如果我只回显$trial->data()->price,我得到的记录值是1100.00,但在这个简单的数学方程中它不起作用

没有任何结果显示为美元可退款

以下是我的方法:

public function find($invoice_id = null) {
        if($invoice_id) {
            $data = $this->_db->query("SELECT * FROM invoice WHERE invoice_id =" . $invoice_id . "");   

            if($data->row_count()) {
                $this->_data = $data->first();
                return true;
            }
        }
        return false;
    }

    public function data() {
        return $this->_data;
    }

Php可能将数据库中的值解释为字符串。将其铸造成浮子应该是可行的,例如

$refundable = (float)$trial->date()->price - 100.00

Php可能将数据库中的值解释为字符串。将其铸造成浮子应该是可行的,例如

$refundable = (float)$trial->date()->price - 100.00

我知道了,谢谢。数学运算正常。我发现的问题是,在我使用它的地方,我必须将它转换回一个字符串,以便它能够与某个插件正常工作

我感谢这里的帮助


如果没有这些评论,我会迷路一段时间

我知道了,谢谢。数学运算正常。我发现的问题是,在我使用它的地方,我必须将它转换回一个字符串,以便它能够与某个插件正常工作

我感谢这里的帮助


如果没有这些评论,我会迷路一段时间

您是如何输出结果的?$
var\u dump($trial->data()->price)的输出是什么类型?另外,您能否演示
data()
方法是如何工作的?您是否在数据方法之前执行find方法?如果不是,数据方法将返回null。警告:这有一些严重问题,因为在查询中使用了
$\u GET
数据。尽可能使用事先准备好的陈述。在任何用户提供的数据被指定为
:name
指示符的情况下,这些操作都非常简单,稍后将使用
bind_param
execute
来填充指示符,具体取决于您使用的是哪一个。您如何输出结果?$
var\u dump($trial->data()的输出是什么->价格)类型?另外,您能否演示
data()
方法是如何工作的?您是否在数据方法之前执行find方法?如果不是,数据方法将返回null。警告:这有一些严重问题,因为在查询中使用了
$\u GET
数据。尽可能使用事先准备好的陈述。在任何用户提供的数据被指定为
:name
指示符的情况下,这些操作都非常简单,随后将使用
bind_param
execute
填充指示符,具体取决于您使用的是哪一个。如果
price
是数字字符串,从中减去一个浮点数将创建一个已作为数字计算的浮点数。显式转换应该是不必要的。var转储是string(7)。我还用方法更新了我的问题,如下所示requested@Panic是的,你是对的,演员阵容确实是多余的。我只是测试了它并检查了php引用。问题必须在别处。如果
price
是一个数字字符串,则从中减去一个浮点将创建一个已作为数字计算的值。显式转换应该是不必要的。var转储是string(7)。我还用方法更新了我的问题,如下所示requested@Panic是的,你是对的,演员阵容确实是多余的。我只是测试了它并检查了php引用。这个问题肯定在别处。