Php 在Mysql中更新数据时出现问题(致命错误:未捕获错误:调用成员函数)

Php 在Mysql中更新数据时出现问题(致命错误:未捕获错误:调用成员函数),php,mysql,sql,Php,Mysql,Sql,我在尝试更新mysql表中的信息时遇到问题。这个问题以前在我使用UPDATE语句时没有发生过。 我将向您展示我的代码和产生的错误: 型号: class Pay { public function __construct() {} public function Users ($id, $idem, $c_user, $num_pay, $total_pay) { require_once "../../model/Conexion.php";

我在尝试更新mysql表中的信息时遇到问题。这个问题以前在我使用UPDATE语句时没有发生过。 我将向您展示我的代码和产生的错误:

型号:

class Pay {
    public function __construct() {}

    public function Users ($id, $idem, $c_user, $num_pay, $total_pay) {

        require_once "../../model/Conexion.php";

        global $conexion;

        $update = "UPDATE Users SET Users = $c_user, num_pay = $num_pay, total_pay = $total_pay WHERE id_user = $id AND idem = $idem";

        $query = $conexion->query($update);
        return $query;

    }
}
控制器:

$obj = new Pay();

$resp = $obj->UsersCount(5, 5);

$cant = $resp->fetch_object();

$Cant = 1 + $cant->Users;

$num_pay = $cant->num_pay + 1;

$total_pay = $cant->total_pay + 75;

$UserPlus = $obj->Users(5, 5, $Cant, 
$num_pay, $total_pay);
结果是:

致命错误:未捕获错误:在C:\xampp\htdocs\solventas\dashboard\Modelos\Pay.php:130堆栈跟踪:#0 C:\xampp\htdocs\solventas\dashboard\Modelos\Pay.php(203):Pay->Users(5,5,3,2,150.9)#1{main}在C:\xampp\htdocs\solventas dash\dashboard\Modelos\Pay.php第130行抛出


当尝试进行更新时,我得到了那个错误,而更新没有完成。我已经检查代码好几次了,什么都没有。UserScont函数,如果它提取结果,但是Users函数是有问题的函数,我不知道为什么,在这之前我没有遇到过。有什么建议吗?

您的全局变量
$conexion
不初始化。我还建议在数据库连接中使用Singleton。

使用参数!不要使用可能导致语法错误的值来填充查询字符串。您的连接不存在。如果没有看到Conexion.php,很难找出原因。连接包含在函数的作用域中,因此
$Conexion
没有在全局作用域中定义(我假设)。我还建议学习依赖注入,并将一个连接传递给构造函数,而不是在代码中间使用<代码>要求()/<代码>。代码使用一个看起来容易受到SQL注入的模式。小Bobby表OWASP Gordon Linoff是的,找出一个与你已经解决的问题有关的问题,但要遵循另一个句子错误。我解决了这个问题,Nigel Ren you完全正确连接包含在函数的范围内,这不起作用。我已经做了一些改变,现在起作用了。谢谢你推荐的依赖注入,我会考虑它,并改变我的代码中的一些东西。谢谢大家。