BasicNetwork.performRequest:意外的响应代码500 Android

时间:2018-10-08 15:13:35

标签: java php android mysql

我正在尝试更新数据库中的参数,但是在Android中却出现此错误:

  

09-15 13:26:43.505 31109-31784 / app.bsmo.ismael034.com.bsmo E / Volley:   [27268] BasicNetwork.performRequest:的意外响应代码500   http://bsmo.000webhostapp.com/Asistencia/actualizar_meta.php?id=2

我认为这是PHP问题,但是我找不到任何错误。服务器处于活动状态并且可以正常工作。

这是我的代码:

<?php
 require 'Database.php';

class Meta
{
    function __construct()
    {
    }

    public static function getAll()
    {
        $consulta = "SELECT * FROM asistencia";
        try {
            // Preparar sentencia
            $comando = Database::getInstance()->getDb()->prepare($consulta);
            // Ejecutar sentencia preparada
            $comando->execute();

            return $comando->fetchAll(PDO::FETCH_ASSOC);

        } catch (PDOException $e) {
            return false;
        }
    }

    public static function getById($id)
    {
        // Consulta de la meta
        $consulta = "SELECT id,
                             id_musico,
                             asistenciaD
                             FROM asistencia
                             WHERE id = ?";

        try {
            // Preparar sentencia
            $comando = Database::getInstance()->getDb()->prepare($consulta);
            // Ejecutar sentencia preparada
            $comando->execute(array($id));
            // Capturar primera fila del resultado
            $row = $comando->fetch(PDO::FETCH_ASSOC);
            return $row;

        } catch (PDOException $e) {
            // Aquí puedes clasificar el error dependiendo de la excepción
            // para presentarlo en la respuesta Json
            return -1;
        }
    }

    public static function update(
        $id,
        $id_musico,
        $asistenciaD 
    )
    {
        // Creando consulta UPDATE
        $consulta = "UPDATE asistencia" .
            " SET id_musico=?, asistenciaD=? " .
            "WHERE id=?";

        // Preparar la sentencia
        $cmd = Database::getInstance()->getDb()->prepare($consulta);

        // Relacionar y ejecutar la sentencia
        $cmd->execute(array($id_musico, $asistenciaD, $id));

        return $cmd;
    }

    public static function insert(
        $dia,
        $asistenciaD 
    )
    {
        // Sentencia INSERT
        $comando = "INSERT INTO asistencia ( " .
            "dia," .
            " asistenciaD)" .
            " VALUES( ?,?)";

        // Preparar la sentencia
        $sentencia = Database::getInstance()->getDb()->prepare($comando);

        return $sentencia->execute(
            array(
                $dia,
                $asistenciaD 
            )
        );

    } 
}
?>

actualizar_meta.php:

<?php

require 'Meta.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Decodificando formato Json
    $body = json_decode(file_get_contents("php://input"), true);

    // Actualizar meta
    $retorno = Meta::update(
        $body['id'],
        $body['asistenciaD']);

    if ($retorno) {
        // Código de éxito
        print json_encode(
            array(
                'estado' => '1',
                'mensaje' => 'Actualización éxitosa')
        );
    } else {
        // Código de falla
        print json_encode(
            array(
                'estado' => '2',
                'mensaje' => 'Actualización fallida')
        );
    }
}

该如何解决? 非常感谢

1 个答案:

答案 0 :(得分:1)

您的代码在,之前和FROM之后具有冗余asistenciaD

更改

$consulta = "SELECT id,
                     id_musico,
                     asistenciaD,
                     FROM asistencia
                     WHERE id = ?";

$consulta = "SELECT id,
                     id_musico,
                     asistenciaD
                     FROM asistencia
                     WHERE id = ?";