|
Tutoriais » PHP » Tratando respostas (MySQL) » A linguagem PHP executa as funções da camada de serviços CGI na arquitetura MVC. Como a PHP tem que se relacionar com diversos Sistemas Gerenciadores de Bancos de Dados é de uso comum que linguagens da camada CGI disponibilizem funções para tratamento da comunicação com outros serviços (para a camada View ou para a camada Model). Como a PHP também evolui o conjunto de funções é alterado com frequência. Daí vem o desafio: como publicar uma páginas com as funções para tratamento das respostas entre UM SGBD (específico) e a PHP? Resolvi criar esta página para apresentar somente um link para você consultar quando for preciso. A PHP se relaciona com o MySQL através das seguintes funções: https://www.php.net/manual/pt_BR/ref.mysql.php Espero que este link esteja funcionando corretamente. A Lista é longa. Já aviso: neste tutorial não analiso TODAS as funções. Vou no feijão-com-arroz e se um dia você precisar me envie sua pergunta (descrevendo bem seu problema) e eu juro que tento te ajudar a resolver a pendenga (e olha que eu não sou o Pinóquio). Vou dar um exemplo: Lembra da tabela fabricantes? (Dá uma olhada no item 'Envio de Comandos' deste tutorial). Pois bem, agora você quer INSERIR uma linha nesta tabela. Você monta um formulário de lê os valores que você vai querer gravar na tabela. Como você é esperto você dá aos campos do form os mesmos nomes dos campos da tabela (Olha, isso AJUDA MUITO). Daí você dá uma estudada em SQL (Ô, Mané! Consulta o tutorial de SQL no menu no topo da tela) e vê como se escreve certinho o INSERT. Seu form tá pronto, ele envia os dados para um programa que vai 'escrever' o maldito INSERT e para tudo isso você demora uns míseros 3 minutos (Ô, véio!! The Flash?) MAS, enquanto isso (na Sala da Justiça) o DBA resolve mudar a estrutura da santa tabela e coloca mais uns 2 campos no meio da bagunça. Teu INSERT vai dançar, nenê! Dá uma olhada no seu fantástico programa que vai 'dar com INSERT nágua'. Tá tudo escrito certo mas o capeta do DBA mexeu na Tabela. Como tratar a mensagem de erro que volta voando do MySQL? Podemos usar as funções mysql_errno e mysql_error. A mysql_errno traz o código do erro. É um número A mysql_error traz a mensagem de erro em um texto 'tentando' explicar o erro. Ambas precisam do ponteiro que guarda a conexão feita com o MySQL. Dá uma olha no fonte do programa e veja a variável $db, é ela que guarda o ponteiro de conexão. Se o comando enviado ao MySQL NÃO tem erro a função mysql_errno() retorna o número 0 (ZERO). Se o comando enviado ao MySQL tiver erro a mensagem de erro pode ser lida no retorno da função mysql_error(). Então para saber se o o seu comando deu certo ou errado (e nesse caso ler a mensagem de erro), podemos escrever o seguinte segmento de código. No final da contas temos o programa completo. © João Maurício Hypólito - Ourinhos/SP |