Jump to content
emmanuelsiqueira30

Não consigo enviar registros utilizando MySQL Remoto

Recommended Posts

Pessoal o problema que a aplicação precisa conectar em um servidor MySQL remoto já consegui isso no PC utilizando o XAMPP e o sistema está funcionando perfeitamente porém no Tablet com o servidor PHP Kickweb server não envia os registros, já estou com um servidor pago configurado com um banco de dados MySQL Remoto tudo certinho e no PC funciona perfeitamente mas quando transfiro para o tablet com Android não funciona, se alguém puder me ajudar:

 

exportabci.php

<?php

  include('funcoes.php');

  $file = 'regbci.txt';

  // verificar a existência do $arquivo
  if (is_readable($file)) {

    // conecta ao database
    require_once 'conexao.php';

    // carrega o conteúdo do arquivo em linhas
    $linhas = file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);

    // verificar se há pelo menos uma linha em $file
    if (sizeof($linhas)) {

      foreach ($linhas as $linha) {

        $d = json_decode($linha);

        // tratar valores para montar as queries de inserção:
        foreach ($d as $k => $v) {
          // remover espaços duplicados:
          $v = trim($v);
          // se o valor for numérico
          if (is_numeric($v) || is_bool($v)) {
            $d->$k = $v; // não coloca aspas
          } else {
            // se não for numérico, fica entre aspas e escapa caracteres especiais
            $d->$k = "'" . $sqli->real_escape_string($v) . "'";
          }
        }

        // guarda os dados tratados em $dados
        $dados[] = $d;

      }

      // se há alguma coisa a ser inserida
      if (isset($dados)) {


        // procedimento para verificação linha a linha
        foreach ($dados as $v) {


          // montar a query de busca
          $query = "select id_bci_geral from bci_geral where cod_bci = $v->cod_bci";

          // executar a query de busca e guardar o resultado em $result
          $result = $sqli->query($query);

          // verificar se houve falha na execução da query
          if ($sqli->error) {

            // define mensagem de erro
            die('Falha durante a busca, chefe!<br> ' . $sqli->error . '<br>' . $query);

            // se não houve erro e algo foi encontrado
          } elseif ($result->num_rows) {
            // mostra mensagem na tela
            echo "<script>alert('Existem boletins já exportados.'); location='administrativo.php';</script>";
            echo '<p>Já existe um registro com cod_bci = <b>' . $v->cod_bci . '</b></p>';
            

            }
            // se nenhum registro foi encontrado com esse cod_bci 
            else {

            // pegar os nomes das colunas dessa linha específica:
            $keys = array_keys((array)$v);

            // montar a query para inserção
            $query = "insert into bci_geral(" . implode(', ', $keys) . ") values\n   (" . implode(', ', (array)$v) . ')';

            // executar a query de inserção
            $sqli->query($query);

            // verificar se houve falha na execução da query:
            if ($sqli->error) {
              // define mensagem de erro
              echo ('Falha durante a inserção<br> ' . $sqli->error . '<br>' . $query);

              // se não houver falha alguma
            } else {
              // define mensagem de sucesso
              echo "<script>alert('Exportação realizada com sucesso.'); </script>"; //location='administrativo.php'; 
  
          }

        } // end foreach



      } // end if (isset($dados))

              envia_ftp_bci();
      }


      else {
        echo '<p>O arquivo <b>' . $file . '</b> está vazio</p>';
      }
  } else {
    echo '<p>O arquivo <b>' . $file . '</b> não existe</p>';
  }
}
  ?>

 

conexao.php

<?php

  $host = 'xxxxxxxxxxxxxx';
  $user = 'xxxxxxxxxxxxxx';
  $password = 'xxxxxxxxxxxx';
  $database = 'xxxxxxxxxxxxx';

  // estabelecer conexão com o mysql
  $sqli = $con = new mysqli($host, $user, $password);


// verificar se houve erro na conexão
  if ($sqli->connect_error) {
    // se houve erro, mostra erro na tela
    echo "<p>Erro ao Conectar: $sqli->connect_error</p>";
  }
// alterar o tipo de codificação da conexão com o banco de dados,  para utf8
  if (!$sqli->set_charset('utf8')) {
    echo "<p class='error'>O charset não é utf8: $sqli->error</p>";
  }
// selecionar/abrir o banco de dados para trabalhar
  if (!$sqli->select_db($database)) {
    // se o banco de dados não for encontrado
    echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
  }
  else {
    echo "<p class='success'>Banco de dados conectado com sucesso.</p>";
  }

?>

 

Screenshot_2018-09-05-16-05-13.png

Screenshot_2018-09-05-16-05-23.png

Share this post


Link to post
Share on other sites

Você vai precisar informar como está utilizando o HOST. Não precisa ser os dados reais, mas precisamos saber como você está configurando o host.

 

Outro ponto, você está rodando um servidor PHP no Android? Se for isso, já pensou em validar se as portas estão configuradas/liberadas corretamente no Android?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos, saudações...
       
      Estou usando Codeigniter e estou com uma pequena dúvida.
       
      Tenho um Form com os seguintes campos:
      Data Início..... <input type="date" /> Hora Início.... <input type="time" /> Data Final..... <input type="date" /> Hora Final.... <input type="time" /> até aqui tudo bem
       
      Gostaria de fazer uma VERIFICAÇÃO para impedir que o usuário GRAVE no MySql uma data menor que a data atual.
      ou seja:
      Data Início nunca poderá ser menor que a Data Atual.
      e a
      Data Final só poder ser igual ou maior que a Data Início.
       
      Grato,
       
      Cesar
       
    • By Salvatore
      Galerinha Boa, alguém pode me explicar como eu faço pra editar isso abaixo usando php
       
       
       <div class="nome-vip">
              <p class="text-center"><span>1</span> CASH</p>             <---------------essa parte eu queria saber como eu edito clicando por cima(tentei usando contenteditable), mas n deu do jeito que eu queria,preciso que o valor editado fique em uma variavel PHP
            </div>
            <p class="text-center" style="color: #888; font-size: 15px;">por apenas</p>
            <div class="preco-vip">
              <p class="text-center">R$ 1</p> <------------------- e aqui iria ter a variável preço que ja estaria definida como um, e quando la em cima fosse adicionado um valor int, somasse os 2 e gerasse a variavel valor e exibindo ela
            </div>
       
      Alguém ajuda eu, to caçando em mts sites algo assim mas n consigo
       
    • By drx
      Olá pessoal!
      Estou com um probleminha aqui. Estou me embrenhando pelos ajax e jquery. Muito interessante. 
      Eu peguei um exemplo e é bem simples. Só que não retorna a mensagem para a div.
       
      Eu tenho uma div em pagina1.php onde o usuário entra com um número identificador em um campo textfield.
      Após entrar com o número identificador, solicito a verificação em uma outra página.php onde tenho uma consulta no mysql.
      O echo da consulta é: Existente ou Inexistente. A consulta é feita pelo número identificador. Fiz a verificação e retorna perfeitamente,
      Porém eu quero que ao verificar, a mensagem retorne para minha outra div logo abaixo na pagina1.php
      Vou passar o código para facilitar....
       
      <html>
      <head>
       
      <script src="js/jquery.js"></script>
      <script>
      $(function(){
        $('#form').submit(function(){
           $.ajax({
             url: 'x_consultar_patro.php',
             type: 'POST',
             data: $('#form').serialize(),
             success:function ( data ) {
                 if (data != '') {
                     $('#frm_cadastro').html( data );
                 }
               }
             });
           return false;
         });
      });
      </script>
       
      </head>
       
      <body>

      <div id="frm_cadastro"></div>

      <form id="form" method="post" action="">
        <input type="text" name="codpatro" id="codpatro"/>
        <input type="submit" name="btn_procurar" id="btn_procurar" value="Procurar"/>
      </form>
       
      </body>
      <html>
       
       

    • By Claudia França
      prezados como eu altero de loked para unloked do arro para não carregar o java e seguir com o procedimento. 
       
       
      ?Veja nesse link https://drive.google.com/drive/u/0/folders/1h0EbUoz3UOL8j9orWirUAPILt7cg7q-p 
      minhas imagens não estao subindindo aqui, não sei porque, acho que tenho limitação. 
       
       
    • By Claudia França
      prezados qdo removo o require colocado antes do doctype o botão desaparece como na imagem . Alguem pode me explicar porque??    dentro do setting tem apenas informações key do cliente e configurações da conta de email. 
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.