19 out 2009

Conexão PHP/MySQL – Utilizando a função mysql_connect()

1 Comentário MySQL, PHP

Para que está começando, sempre é muito complicado entender como alguns recursos funcionam. A parte boa é que depois de algum tempo você se pega falando: “Que ridículo!” e acaba topando com outros desafios…

Sem mais introduções, vamos as vias de fato:

Vou “pular” a parte de instalação do servidor, pois não é o foco do post… Vamos precisar de uma tabela criada em nosso banco, abaixo os campos para o melhor entendimento do meu exemplo. (Claro, você pode criar com outros nomes, isso não influencia em nada… Mas saiba diferenciar os trechos do código!)

/*Cria o banco de dados*/
CREATE DATABASE ESCOLA ;
/*Cria a tabela dentro do banco escola*/
CREATE TABLE ESCOLA.TABALUNOS (
ALU_CODIGO INT(11) NOT NULL AUTO_INCREMENT,
ALU_NOME VARCHAR(40) NOT NULL,
ALU_CURSO VARCHAR(40) NOT NULL,
PRIMARY KEY (ALU_CODIGO)
)  ;

 

Criado nosso banco, vamos à conexão php. Crie um arquivo chamado conexao.php em uma pasta de sua escolha em seu servidor:

conexao.php

< ?
#Recebe o endereço do banco de dados. Caso esteja utilizando um servidor local utilize o endereço abaixo ou "localhost"
$endereco_banco = "127.0.0.1";
#Usuário do banco de dados. O padrão do banco normalmente é "root", caso utilize outro altere.
$usuario = "root";
#Senha para acesso ao banco. Abrir e fechar aspas duplas significa que não tem senha no banco.
$senha = "";
#Banco que será conectado
$banco = "escola";
#Grava em uma variável a conexão
$conexao = mysql_connect($endereco_banco,$usuario,$senha) or die("Não foi possível realizar a conexão com o banco.");
#Seleciona o banco de dados, utilizando o conteúdo da variável $banco e utilizando a conexão $conexao
mysql_select_db($banco,$conexao);
?>

Feita a conexão, vamos ver funcionando: Crie um arquivo chamado inserir.php na mesma pasta do arquivo de conexão:

 
	< ?
	include "conexao.php";
	if($_POST)
	{
		$txt_sql = "INSERT INTO TABALUNOS(ALU_NOME,ALU_CURSO) VALUES('".$_POST['alu_nome']."','".$_POST['alu_curso']."')";
		mysql_query($txt_sql,$conexao) or die("Falha ao realizar a inserção.");
		echo "<script type="text/javascript"><!--mce:0--></script>";

Simples formulário HTML, importante notar que em nossa linha 8, o comando if() verifica se o $_POST existe, e este só irá existir após o formulário acima ser submetido.

<form method="post">
	<label>Aluno
<input name="alu_nome" type="text" /></label>
	<label>Curso
<input name="alu_curso" type="text" /></label>
	<label>
<input type="submit" value="Cadastrar" /></label>
</form>

Agora vamos buscar os dados do banco: Crie o arquivo listagem.php na mesma pasta dos arquivos anteriores:

 

 
	&lt; ?
	include "conexao.php";
	$txt_sql = "SELECT ALU_NOME,ALU_CURSO FROM TABALUNOS";
	$qry_sql = mysql_query($txt_sql,$conexao) or die("Falha ao realizar a pesquisa.");
	$res_sql = mysql_fetch_array($qry_sql);
	$num_sql = mysql_num_rows($qry_sql);
	?&gt;
<ul>
	&lt; ?
	if($num_sql&gt;0)
	{
		for($i=0;$i&lt; $num_sql;$i++)
		{
			?&gt;
	<li>&lt; ?=mysql_result($qry_sql,$i,'ALU_NOME')." estuda ".mysql_result($qry_sql,$i,'ALU_CURSO')?&gt;</li>
&lt; ?
		}
	}
	?&gt;</ul>

 

Vamos para a explicação por partes:
A variável $txt_sql recebe o comando SQL, que neste caso seleciona os dados de nossa tabela e em seguida é iniciado pelo mysql_query() que é atribuido à variável $qry_sql.

$txt_sql = "SELECT ALU_NOME,ALU_CURSO FROM TABALUNOS";
$qry_sql = mysql_query($txt_sql,$conexao) or die("Falha ao realizar a pesquisa.");

A função mysql_fetch_array() monta um array com os resultados vindo do SQL acima. Este array está sendo atribuido à varaivel $res_sql:

$res_sql = mysql_fetch_array($qry_sql);

A função mysql_num_rows() retorna o número de linhas de resultados que o SQL retornou. Este valor é atribuído à variável $num_sql:

$num_sql = mysql_num_rows($qry_sql);

Verifica se o número de linhas da variável $num_sql é maior que zero. Caso seja entra na estrutura de repetição:

if($num_sql&gt;0)
	{

Enquanto o contador da estrutura de repetição for menor que o número de linhas de resultados…

for($i=0;$i&lt; $num_sql;$i++)
		{

…repete a exibição dos respectivos valores:

	<li>&lt; ?=mysql_result($qry_sql,$i,'ALU_NOME')." estuda ".mysql_result($qry_sql,$i,'ALU_CURSO')?&gt;</li>

Bom, nos próximos posts vou explicar outras formas de conexão que melhoram a segurança e reaproveitamento de código.
Até lá!

Artigos relacionados...

  1. Conexão com FTP externo – PHP
Tags: , , , ,
written by
Um certo alguém buscando mais conhecimento...
Artigos relacionados

Uma resposta to “Conexão PHP/MySQL – Utilizando a função mysql_connect()”

  1. juniorNo Gravatar disse:

    estou usando wampserver, e a conexão não funciona, a pagina do conecta fica em branco e a do inserir não inseri, oq pode estar acontecendo

Faça um comentário! É importante saber sua opinião.