我在php中有后端部分,但是有一部分代码没有运行,但是我找不到错误。
函数RegistrarRecibo可以正常工作,并且可以DisminuirCantidad,但是CreateDetalleRecibo并未添加到数据库中。
传递数据的URL
String URL = "http://basededatosjordy.000webhostapp.com/WebServiceRestaurante/CONTROLADOR/ReciboControlador.php?op=1&idmozo="+ idmozo +"&idmesa="+
idmesa +"&fecha_recibo="+ fecha +"&idplato="+ idplato +"&cantidad="+ cantidad + "&importe="+ importe;
ReciboControlador.php
<?php
require_once '../BEAN/ReciboBean.php';
require_once '../DAO/ReciboDao.php';
$op = $_GET['op'];
switch ($op)
{
case "1":
{
$objReciboDao = new ReciboDao();
$id_mozo = $_GET['idmozo'];
$id_mesa = $_GET['idmesa'];
$fecha_recibo = $_GET['fecha_recibo'];
$idplato = $_GET['idplato'];
$cantidad =$_GET['cantidad'];
$importe = $_GET['importe'];
$estado = $objReciboDao->RegistrarRecibo($fecha_recibo,$id_mozo,$id_mesa,$idplato,$cantidad,$importe);
echo ($estado === 1) ? "success":"failed";
break;
}
}
?>
ReciboDao.php
<?php
require_once '../UTIL/ConexionBD.php';
require_once '../BEAN/ReciboBean.php';
class ReciboDao{
public function RegistrarRecibo($fecha_recibo,$id_mozo,$id_mesa,$idplato,$cantidad,$importe)
{
try{
$cn = new ConexionBD();
$cnx = $cn->getConexionBD();
$sql = "INSERT INTO recibo ( id_recibo,fecha_recibo, id_mozo, id_mesa ) VALUES (null, '$fecha_recibo',$id_mozo,$id_mesa);";
$result = mysqli_query($cnx,$sql);
$lastReciboID = mysqli_insert_id($cnx);
if(mysqli_affected_rows($cnx)>=1)
{
$estado = 1;
ReciboDao::CreateDetalleRecibo($idplato,$lastReciboID,$importe);
ReciboDao::DisminuirCantidad($idplato,$cantidad);
}else
{
$estado = 0;
}
}catch (Exception $exc) {
echo $exc->getTraceAsString();
}
return $estado;
}
public static function DisminuirCantidad( $idplato,$cantidad )
{
try {
$cn = new ConexionBD();
$cnx = $cn->getConexionBD();
$sql = "UPDATE platos set cantidad = cantidad - $cantidad WHERE id_plato = '$idplato'; ";
$result = mysqli_query($cnx,$sql);
if(mysqli_affected_rows($cnx)>=1)
{
$estado = 1;
}else
{
$estado = 0;
}
}catch (Exception $exc) {
echo $exc->getTraceAsString();
}
}
public static function CreateDetalleRecibo( $idplato,$lastReciboID,$importe)
{
try{
$cn = new ConexionBD();
$cnx = $cn->getConexionBD();
$sql = "INSERT INTO detalle_recibo ( id_detalle_recibo, id_plato, id_recibo, importe ) VALUES ( null,$id_plato,$lastReciboID,'$importe' );";
$result = mysqli_query($cnx,$sql);
if(mysqli_affected_rows($cnx)>=1)
{
$estado = 1;
}else
{
$estado = 0;
}
}catch (Exception $exc) {
echo $exc->getTraceAsString();
}
return $estado;
}
}
?>
在android中使用调试模式,我看到所有变量都正确传递,但是在php中 我不知道如何检查他们