Você está na página 1de 3

Acesso a Banco de Dados

O acesso a banco de dados (MySQL) deve, basicamente, obedecer a seguinte ordem: primeiro, deve-se abrir uma
conexão com o servidor do BD através do comando mysql_connect(). Em seguida, deve-se escolher qual banco de
dados será acessado através do comando mysql_select_db(). Depois, deve-se criar uma variável contendo a
consulta SQL desejada e associá-la ao comando mysql_query(). Finalmente, através de um laço while, acessar cada
registro da tabela através do comando mysql_fetch_array().

mysql_connect

(PHP 3, PHP 4, PHP 5)

mysql_connect -- Abre uma conexão com o servidor MySQL

Descrição

resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int
client_flags]]]]])

Retorna um identificador de link (link_identifier) com o MySQL se der certo, ou FALSE se falhar.

mysql_connect() estabelece uma conexão com o servidor MySQL. Os seguintes padrões são assumidos para os
argumentos opcionais que estiverem faltando: server = 'localhost:3306', username = nome do usuário dono do
processo do servidor, password = senha vazia.

O parâmetro server pode também incluir um número de porta. Exemplo: "hostname:port" ou um caminho para
um socket, exemplo. ":/path/to/socket" para o servidor local (localhost).

Nota: Em qualquer lugar que você especificar "localhost" ou "localhost:port" como servidor, a biblioteca de cliente
MySQL irá sobrepor isto e tentar conectar com um socket local (named pipe no Windows). Se você quiser usar
TCP/IP, use "127.0.0.1" ao invés de "localhost". Se biblioteca de cliente MySQL tentar conectar ao socket local
errado, você deverá estabelecer o caminho correto em mysql.default_host na sua configuração do PHP e deixar o
campo do servidor em branco.

Suporte para ":port" foi adicionado no PHP 3.0B4.

Suporte para ":/path/to/socket" foi adicionado no PHP 3.0.10.

Você pode suprimir a mensagem de erro em caso de falha colocando um @ antes do nome da função.

O link com o servidor será fechado tão logo a execução do script termine, se não tiver sido fechado anteriormente
por chamar explicita à mysql_close().

Exemplo 1. Exemplo de conexão MySQL

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
or die("Não pude conectar: " . mysql_error());
print ("Conectado");
mysql_close($link);
?>

mysql_select_db

(PHP 3, PHP 4 , PHP 5)


mysql_select_db -- Seleciona um banco de dados MySQL

Descrição

bool mysql_select_db ( string database_name [, resource link_identifier])

Retorna TRUE em caso de sucesso ou FALSE em falhas.

mysql_select_db() define o banco de dados ativo no servidor que é associado ao identificador de


conexão(link_identifier) especificado. Se nenhum identificador de conexão é especificado, a última conexão aberta
é assumida. Se nenhuma conexão esta aberta, a função irá tentar abrir uma conexão como se mysql_connect()
fosse chamada sem argumentos e usá-la.

Todas as próximas chamadas a mysql_query() serão feitas no banco de dados ativo.

Exemplo 1. Exemplo mysql_select_db()

<?php
$lnk = mysql_connect('localhost', 'mysql_user', 'mysql_password')
or die ('Não foi possível conectar: ' . mysql_error());

// Faz "db" ser o banco de dados atual


mysql_select_db('db', $lnk) or die ('Não foi possível usar db: ' . mysql_error());
?>

mysql_query

(PHP 3, PHP 4 , PHP 5)

mysql_query -- Realiza uma query MySQL

Descrição

resource mysql_query ( string query [, resource link_identifier])

mysql_query() envia uma query para o banco de dados ativo no servidor da conexão informada em
link_identifier. Se o parâmetro link_identifier não é especificado, a última conexão aberta é usada. Se
nenhuma conexão esta aberta, a função tenta estabelecer uma conexão como mysql_connect() seja chamada
sem argumentos e usa-a. O resultado é guardado em buffer.

Nota: A string da query não deve terminar com ponto e virgula(;).

Somente para os comandos SELECT, SHOW, EXPLAIN ou DESCRIBE mysql_query() retorna um identificador de
recurso ou FALSE se a query não foi executada corretamente. Para outros tipos de comandos SQL,
mysql_query() retorna TRUE em caso de sucesso e FALSE em erro. Um valor não FALSE indica que a query foi
legal e pode ser executada pelo servidor. Não indica nada sobre o número de linhas afetadas ou retornadas. É
perfeitamente possível para uma query ser bem sucedida, mas não afetar linhas ou retornar linhas.

A seguinte query é sintaticamente invalida, assim mysql_query() falha e retorna FALSE:

Exemplo 1. Exemplo mysql_query()

<php
$result = mysql_query("SELECT * WHERE 1=1")
or die("Query invalida: " . mysql_error());
?>
A seguinte query é semanticamente invalida se my_col não é uma coluna da tabela my_tbl, assim
mysql_query() falha e retorna FALSE:

Exemplo 2. mysql_query()

<?php
$result = mysql_query("SELECT my_col FROM my_tbl")
or die ("Query invalida: " . mysql_error());
?>

mysql_query() irá também falhar e retornar FALSE se você não tiver permissão para acessar a tabela(s)
referida(s) pela query.

Assumindo que a query seja bem sucedida, você pode chamar mysql_num_rows() para achar quantas linhas
foram retornadas para um comando SELECT ou mysql_affected_rows() para achar quantas linhas foram
afetadas por um comando DELETE, INSERT, REPLACE, ou UPDATE.

mysql_fetch_array

(PHP 3, PHP 4 , PHP 5)

mysql_fetch_array -- Busca o resultado de uma linha e o coloca como uma matriz associativa, matriz numérica ou
ambas.

Descrição

array mysql_fetch_array (resource result [, int result_type])

Retorna uma matriz que corresponde a linha buscada, ou FALSE se não houver mais linhas.

mysql_fetch_array() é uma versão estendida de mysql_fetch_row(). Além de guardar os dados em um índice


numérico na matriz, também guarda os dados em índices associativos, usando o nome do campo como chave.

Se duas ou mais colunas do resultado tiverem o mesmo nome do campo, a ultima coluna terá precedência. Para
acessar as outras coluna(s) com o mesmo nome, você deve usar o índice numérico da coluna ou fazer um apelido
para a coluna. Para colunas com apelido, você não pode acessar os conteúdos com o nome original da coluna
(usando 'field' neste exemplo).

<?php
$link = mysql_connect("localhost", "user", "pass");
$db = mysql_select_db("Alunos");
$result = mysql_query("SELECT * FROM ALUNOS");
while(($line = mysql_fetch_array($result))) {
echo $line[“nome”].” – “.$line[“fone”];

}
mysql_free_result($result);
mysql_close($link);
}
?>