因为有时它会插入我,有时却不会插入?

时间:2019-02-22 19:50:25

标签: php android

它不会给我其他程序带来任何错误,有时即使没有,它也会使插入在android中没有问题 代码android

public void guardarFavoritos() {


    final String Usuario ="Alex";
    final String IdEmpresa ="3";
    final String Estado ="Activo";


    HashMap<String, String> map = new HashMap<>();// Mapeo previo

    map.put("Usuario", Usuario);
    map.put("IdEmpresa", IdEmpresa);
    map.put("Estado", Estado);
    // Crear nuevo objeto Json basado en el mapa
    JSONObject jobject = new JSONObject(map);

    // Depurando objeto Json...
    Log.d(TAG, jobject.toString());

    // Actualizar datos en el servidor
    VolleySingleton.getInstance(getActivity()).addToRequestQueue(
            new JsonObjectRequest(
                    Request.Method.POST,
                    Constante_Favorito.INSERTFAV,
                    jobject,
                    new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            // Procesar la respuesta del servidor
                            procesarRespuestaInsert(response);
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            error.printStackTrace();
                            Log.d(TAG, "Error Volley: " + error.getMessage());
                        }
                    }

            ) {
                @Override
                public Map<String, String> getHeaders() {
                    Map<String, String> headers = new HashMap<String, String>();
                    headers.put("Content-Type", "application/json; charset=utf-8");
                    headers.put("Accept", "application/json");
                    return headers;
                }

                @Override
                public String getBodyContentType() {
                    return "application/json; charset=utf-8" + getParamsEncoding();
                }
            }
    );

}

这是已经测试过的php代码,可以正常工作,但是在通过andorid发送数据时不会插入

<?php
/**
 * Insertar una nueva Favoritos en la base de datos
 */

require 'Favoritos.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    // Decodificando formato Json
    $body = json_decode(file_get_contents("php://input"), true);

    // Insertar usuario
    $retorno = Favoritos::insert(
        $body['Usuario'],
        $body['IdEmpresa'],
        $body['Estado']);

    $result = json_decode($retorno, true);
    if ($retorno) {
        // C�digo de �xito



        print json_encode(
            array(
                'estado' => '1',
                'mensaje' => 'Agregado A Favoritos')
        );
    } else {
        // C�digo de falla
        print json_encode(
            array(
                'estado' => '2',
                'mensaje' => 'Error Al Agregar')
        );
    }
}

鳕鱼Favoritos.php

<?php

/**
 * Representa el la estructura de las metas
 * almacenadas en la base de datos
 */
require '../Database.php';

class Favoritos
{
    function __construct()
    {
    }


    public static function getFavoritos($Usuario)
    {
        // Consulta de la bd_favoritos
        $consulta = "SELECT e.IdEmpresa, e.Nit, e.Empresa, e.Eslogan, e.Direccion, p.Pais, d.Departamento, c.Ciudad, 
                    e.Telefono, e.Celular, e.DocRepresentante, e.Representante, e.Email, e.Paginaweb, e.Logo, e.Estado,
                    e.Prioridad, e.Puntaje 
                    FROM bd_favoritos f 
                    INNER JOIN bd_usuarios u on u.Usuario = f.Usuario 
                    INNER JOIN bd_empresas e on e.IdEmpresa = f.IdEmpresa 
                    INNER JOIN bd_departamento d on d.IdDepartamento = e.IdDepartamento 
                    INNER JOIN bd_pais p on p.IdPais = e.IdPais 
                    INNER JOIN bd_ciudad c on c.IdCiudad = e.IdCiudad 
                    WHERE u.Usuario = ?";

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


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


     /**
     * Insertar un nuevo favorito
     *
     * @return PDOStatement
     */
    public static function insert(
        $Usuario,
        $IdEmpresa,
        $Estado
    )
    {
        // Sentencia INSERT
        $comando = "INSERT INTO bd_favoritos ( " .
            " Usuario," .
            " IdEmpresa," .
            " Estado)" .
            " VALUES( ?,?,?)";

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

        return $sentencia->execute(
            array(
                $Usuario,
                $IdEmpresa,
                $Estado
            )
        );

    }


}

?>

当它进入以下方法时,它会插入,但是当它不输入时,它不会插入,不是因为跳过了这些方法

@Override
                    public Map<String, String> getHeaders() {
                        Map<String, String> headers = new HashMap<String, String>();
                        headers.put("Content-Type", "application/json; charset=utf-8");
                        headers.put("Accept", "application/json");
                        return headers;
                    }

                    @Override
                    public String getBodyContentType() {
                        return "application/json; charset=utf-8" + getParamsEncoding();
                    }

有人可以通过指出为什么有时是插入内容来帮助我吗?

0 个答案:

没有答案