我正在尝试更新数据库中的参数,但是在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')
);
}
}
该如何解决? 非常感谢
答案 0 :(得分:1)
您的代码在,
之前和FROM
之后具有冗余asistenciaD
更改
$consulta = "SELECT id,
id_musico,
asistenciaD,
FROM asistencia
WHERE id = ?";
到
$consulta = "SELECT id,
id_musico,
asistenciaD
FROM asistencia
WHERE id = ?";