Ir para conteúdo
Fórum Script Brasil
  • 0

É possível definir o $mysqli apenas uma vez?


Frank K Hosaka

Pergunta

Acredito que já fazem dois meses que estou estudando o projeto portaria que foi publicado nesse fórum. Ele tem bastante recurso, principalmente a tecnologia da função assíncrona do JavaScript.

Ontem fiquei até duas horas da madrugada tentando fugir das mensagens de erro do JavaScript, mas eu não tive outra escolha senão definir a variável $mysqli no código PHP.

O projeto portaria são dezenas de códigos  e o desenvolvedor original abriu o banco de dados várias vezes, ora usando o motor do PHP Database Object e outra hora usando o mysqli. Para facilitar o meu trabalho, eu tirei a senha do banco de dados, mas isso não é permitido nos sites hospedeiros. Foi pensando nesse problema é que eu decidi padronizar tudo, ao invés de trabalhar com dois motores, eu achei melhor trabalhar com apenas um motor.

Assim, eu escrevi no config.php o seguinte: $mysqli=new mysqli("localhost","root","","porteiro"). Note que aqui ele não tem senha. Na hora de hospedar, eu defino a senha, apenas uma vez no arquivo config.php.

Para saber se um cliente já foi cadastrado, eu criei o código cadastro_consultarservidor.php, e nele eu fiz a conexão com o banco de dados, usando recurso require "config.php". O problema do config.php é que ele abre o banco de dados, mas também faz um monte de serviço como definir o painel de controle que é usado em várias rotinas para o usuário não ficar perdido. Acredito que o JavaScript se recusou a trabalhar justamente porcausa do meu painel de controle. 

Então, eu usei a minha famosa gambiarra que nunca dá certo. Coloquei um par de <div> em torno do painel de controle, e pedi para esconder, mas a função JavaScript reclamou que havia um monte de caracteres inesperados dentro do que foi solicitado.

Assim, eu fui obrigado a desconectar o código da consulta com o código do config. Agora tenho dois códigos PHP que definem o $mysqli. Eu sei que um está no código config.php. Como é que vou lembrar onde defini o outro $mysqli?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1

Olá sr. Frank! É possível e recomendável.
Vejo em projetos de altíssima qualidade que o motor de conexão é apenas um.
E que os dados para conexão são definidos uma única vez.
Muito mais prático e manutenível.

Lembre-se:
js não tem nadinha a ver com php

quem interpreta o js é o browser (client side)
quem interpreta o php é o server (server side)
logo, um nem sabe que o outro existe.

É preciso verificar com atenção o erros acusados pelo js e adequar o script conforme os erros orientem.
Depende muito dos erros acusados.
Se puder, e quiser expor as mensagens de erro aqui, de repente a gente consegue ir solucionando cada uma.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia, Wash,

A única solução que eu encontrei foi tirar o painel de controle do config.php e criei um novo código chamado painel.php. E assim consigo chamar o config.php onde for necessário e sem "sujar" a resposta de quem for precisar consultar o servidor.

Nos códigos por onde o usuário navega, eu escrevi assim

<?php
require 'config.php';
require 'painel.php';

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...