Principais comandos php para bancos mysql

Apesar do php ser uma linguagem que suporta conexão com todos os bancos de dados “famosos” do mercado, basta entender um pouco do assunto para perceber que a maioria dos desenvolvedores geralmente optam pelo MySQL na hora de implementar um projeto. Isso acontece talvez por ser um SGBD gratuito, robusto e com vasta documentação e discussões existentes em vários idiomas.

Por isso no post de hoje vou abordar os principais comandos php para se trabalhar com MySQL visando auxiliar a familiarização dos iniciantes com a linguagem e o banco de dados.

Primeiramente e mais importante, é necessário entender como é feito a conexão de uma aplicação com o servidor de banco de dados. Veja:

1
2
3
4
<?php
    mysql_connect('localhost', 'root', '123321') or die ('Erro ao conectar com o servidor MySQL');
    mysql_select_db('banco1') or die ('Erro ao selecionar o banco de dados');
?>

A função mysql_connect é responsável por criar a comunicação com o servidor MySQL. Essa função deve receber os parâmetros host, user e password. Depois disso, é necessário informar também o banco de dados(schema) que será utlizado. Para isso devemos utilizar a função mysql_select_db.

Com a conexão efetuada, agora estamos prontos para inserir/editar/excluir/recuperar informações no banco de dados. Para isso, destacamos a função mysql_query, que possibilita a execução de códigos DDL(CREATE, ALTER, etc.), DML(INSERT, UPDATE, DELETE) e SQL(SELECT).

Vejamos um exemplo de utilização da função mysql_query para um código de inserção(DML):

1
2
3
<?php
     $rs = mysql_query("INSERT INTO tb_cliente(id, nome) VALUES ('1000', 'João')");
?>

Em execuções de códigos DML a função retorna true(1) em caso de sucesso e false(0) em caso de falha. Para saber o número de linhas afetadas na tabela em que a query foi executada, utilize a função mysql_affected_rows.

1
2
3
4
<?php
    $rows_affected = mysql_affected_rows();
    echo $rows_affected . "foram afetadas";
?>

Voltando à função mysql_query, agora vamos testar uma consulta SQL.

1
2
3
<?php
     $rs = mysql_query("SELECT id, nome FROM tb_cliente");
?>

Na execução de consultas a função pode retornar false em caso de erro ou o resultado(resource) da própria em caso de sucesso. Com informações do banco de dados recuperadas para a nossa aplicação, agora podemos manipulá-las convertendo a variável $rs. Isso é possível utilizando a função mysql_fetch_array ou mysql_fetch_object. A seguir dois exemplos, um para cada função.

1
2
3
4
5
6
7
8
9
10
11
<?php
    //convertendo para objeto
    while($reg_obj = mysql_fetch_object($rs)){
             echo $reg_obj->id . " - " . $reg_obj->nome;
    }
 
    //convertendo para array
    while($reg_array = mysql_fetch_array($rs)){
             echo $reg_array["id"] . " - " . $reg_array["nome"];
    }
?>

Como em uma consulta podemos recuperar várias linhas, utilizei um laço de repetição para percorrer todo o resource e “printar” na tela o id e nome de cada registro encontrado na tabela tb_cliente através da query. As duas funções possuem o mesmo objetivo, ou seja, converter o resultado de uma consulta SQL em uma variável php capaz de armazenar os dados. A diferença é que uma os passa para um array e a outra para um objeto .

Para descobrir o número de linhas retornadas por uma determinada consulta, podemos utilizar a função mysql_num_rows passando também como parâmetro o resource de uma query.

1
2
3
4
<?php
    $num_regs = mysql_num_rows($rs);
    echo "A consulta retornou" . $num_regs . "registro(s)";
?>

E aqui finalizo o post de hoje. É claro que abordei apenas as funções básicas para se trabalhar php com mysql. Existem diversas outras, mas isso é assunto para um outro dia

Abs.

É formado em Sistemas de Informação, pós-graduado em Sistemas de Banco de Dados e mestre em Educação com foco em Tecnologias Sociocomunitárias. Trabalha como professor de ensino técnico e tecnológico no Instituto Federal de Educação, Ciência e Tecnologia de São Paulo ministrando disciplinas nas áreas de programação, banco de dados, desenvolvimento de projetos e engenharia de software.

Posts relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *