当前位置: 首页 > 知识库问答 >
问题:

导致HTTP错误500 PHP和SQL,我无法解决它

谢诚
2023-03-14

我试图在页面{“status”:1}上显示,但它给出了一个错误500。我所有的代码似乎都在数据库和平台上运行。

它在错误日志中给出此错误:

  1. [错误]42094#0:*233568 FastCGI在标准中发送:“PHP消息:PHP通知:未定义索引:id位于/var/www/../../../../../../../classes/pageuser.class.PHP第519行

在第页用户。班php:

 case "loans/tickets/pay":
            $this->template = "no_render";
            $response = null;
            if (Loan::payTicket($_POST["id"], $user->getID())) {
                $response = ["status" => 1];
            } else {
                $response = ["status" => 0, "err" => "Erro ao atualizar base de dados"];
            }
            die(json_encode($response));
            return;

关于loan.class.php:

    public static function payTicket($ticket_id, $user_id)
{
    $ticket_value = Loan::getTicketValue($ticket_id);
    $database = new Database();
    $connection = $database->getConnection();
    $stmt = $connection->prepare("UPDATE loan_tickets SET `paid`=1,date_of_payment=CURRENT_TIMESTAMP WHERE id=?");
    $stmt->bind_param('i', $ticket_id);
    if ($stmt->execute()) {
        $stmt = $connection->prepare("UPDATE `c3interno`.`payment_methods` SET `expected_value` = `expected_value` + $ticket_value WHERE `id` = 6");
        if($stmt->execute())
        {
            $stmt = $connection->prepare("INSERT INTO `c3interno`.`payment_methods_logs` (`payment_method`,`type`,`value`,`user_id`,`date`,`reason`) VALUES (6,5,$ticket_value,$user_id,CURRENT_TIMESTAMP,'Delay')");
            if($stmt->execute())
            {
                $stmt->close();
                return true;
            }
            $stmt->close();
            return false;
        }
        $stmt->close();
        return false;
    }
    $stmt->close();
    return false;
}

共有1个答案

蒲魁
2023-03-14

你只需要做一些基本的错误检查。第一个警告,也可能是根本原因,是未发送$\u POST变量“id”。我不知道为什么,你需要调查一下。如果这是一个可选变量,在尝试使用它之前,应该使用类似于If(isset($\u POST[“id”]))的东西来查看它是否存在。

第二个错误发生的原因是$stmt是false,因为准备()返回失败状态。请参阅PDO返回值。您需要检查类似if($stmt==false)的错误。

 类似资料:
  • 我使用以下源代码创建了自己的SDF模式:https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/text/simpledateformat.html 导致以下错误,我不明白原因: 任何帮助都会很棒! 编辑:我正在使用JDK 13 进程结束,退出代码为%1

  • 现在我正在尝试从git运行克隆应用程序https://github.com/frinder/frinder-app但问题是该应用程序制作了很长时间,所以应该改变bulid.gradle 但是当我尝试相同的同步实现“com.android.支持:动画矢量可绘制:28.0.0”,但如果我删除它,请继续向我显示错误28.0.0它显示如下 但我不知道是什么造成了不完全相同的版本 这是应用程序build.g

  • 本文向大家介绍MySQL导入sql脚本错误:2006 解决方法,包括了MySQL导入sql脚本错误:2006 解决方法的使用技巧和注意事项,需要的朋友参考一下 MySQL导入sql脚本错误:2006 - MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: 最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大

  • 本文向大家介绍SQL SERVER 9003错误解决方法,包括了SQL SERVER 9003错误解决方法的使用技巧和注意事项,需要的朋友参考一下 SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9003)" 看是9003错误,就

  • 问题内容: 我写了一个控制台应用程序就跑,然后。这很好。 然后,我创建了一个包,并将helloworld.java移入其中(包导入语句正确生成为)。然后我运行了它,效果也很好,并正确生成了类。 但是,当我从控制台运行时,它引发了“找不到类”错误。 请谁能告诉我这是什么问题? 问题答案: 尝试跑步 其中ABSOLUTE_PATH指向类文件以及程序包所在的目录。说它是生成类文件的目录,以及与源文件相同

  • 问题内容: 我正在使用Eclipse ADT捆绑包,并且最近更新了我的Android SDK工具和Android SDK平台工具,然后此后我尝试创建一个新项目,但我的R.java文件中不断出现错误,看似微不足道,但我仍然不明白它如何保持由于它是自动生成的文件而显示。 错误为: 语法错误,插入“}”以完成ClassBody 。 请记住,这是我刚刚创建项目的时候。同样删除文件并使其自动生成仍然会产生与