Como lidar com erros mysql

Você usar as funções mysqli da linguagem PHP, tais como mysqli_connect

e mysqli_query, para interagir com o banco de dados MySQL. Às vezes as coisas vão dar errado quando você usa as declarações. Você pode fazer um erro em sua digitação, tais como erros de digitação de um nome de banco de dados. Às vezes, surgem problemas que você não pode evitar, como o banco de dados ou a rede a ser baixo.

Você precisa incluir o código em seu script que lida com situações de erro.

Você geralmente quer fazer lidar com seu erro mais descritivo para auxiliar na resolução de problemas durante o desenvolvimento, mas você não quer que a informação extra exibido ao público.

Por exemplo, suponha que você estiver usando uma conta chamada raiz para acessar seu banco de dados e você faz um erro de digitação, como nas seguintes afirmações:

$ Host = "localhost"- $ user = "podridão"- $ password = "- $ cxn = mysqli_connect ($ host,$do utilizador,$senha)

Porque você digita “rot” em vez de “root”, você verá uma mensagem de aviso semelhante a este:

Atenção: Acesso negado para o usuário: `rot @ localhost` (senha usada: NO) ...

A mensagem de erro anterior contém as informações que você precisa para descobrir o problema - ele mostra o nome da conta, que inclui o erro de digitação.

Video: Dicas de como lidar com os erros no trabalho

No entanto, após a execução do script e os clientes estão a usá-lo, você não quer que seus usuários vejam uma mensagem de erro técnico que mostra a sua ID de usuário. Você quer transformar os erros do PHP fora ou enviá-los para um arquivo de log de erro. Você poderia, então, usar um morrer declaração para parar o script e exibir uma mensagem educada para o usuário, como segue:

$ Cxn = mysqli_connect ($ host,$do utilizador,$senha) ou matriz ("O catálogo não está disponível no momento. Por favor, tente novamente mais tarde.") -


Quando um mysqli_query () função falhar, MySQL retorna uma mensagem de erro que contém informações sobre a causa da falha. No entanto, essa mensagem não será exibida a menos que você exibi-lo especificamente. Novamente, você pode querer ver essas mensagens quando você está desenvolvendo o roteiro, mas você não pode querer exibi-los ao público. Você pode exibir o erro MySQL que é retornado usando a seguinte função:

Video: Como Lidar Com Os Erros - DG#2

mysqli_error ($ cxn)

Por exemplo, você pode incluir a função em seu código, como segue:

$ Query = "* SELECT FROM Cust"- $ result = mysqli_query ($ cxn, $ query) ou morrer ("Erro: ".mysqli_error ($ cxn)) -

Neste exemplo, se a chamada de função falhar, o morrer declaração exibe o erro MySQL, que poderia ser algo como isto:

Erro: Table `catalog.cust` não existe

Ocasionalmente, você pode querer executar ações adicionais se a função falhar, como excluir variáveis ​​ou fechar a conexão de banco de dados. Você pode executar essas ações usando uma instrução condicional:

(! $ Result = mysqli_query ($ cxn, $ query)) se {echo mysqli_error ($ cxn) -unset ($ auth) -exit () -}

Se a chamada de função falhar, as declarações no E se bloco serão executados. o eco declaração exibe o erro MySQL retornado pela função. Uma variável é removido, eo script sai.

Video: Como lidar com meus erros

Observe a ! (Ponto de exclamação) na E se declaração. ! significa não. Em outras palavras, o E se afirmação é verdadeira se o comando de atribuição não é verdade.


Publicações relacionadas