• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vjoe

Ligação PHP - MySql

6 mensagens neste tópico

Alguém me pode explicar teóricamente como se efectua a ligação a uma base de dados MySql e também os comandos para o fazer? É algo bastante útil que gostava de saber.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para a ligação ao mysql, precisas de usar as funções mysql_*

Ora, isto é um script de ligação simples já com verificação de erros:

<?php

// Esta primeira linha faz a ligacao ao servidor. No caso geral, quando estas a testar localmente,
// os parametros sao 'localhost', 'root', ''.
$conn = mysql_connect('localhost', 'user', 'password');
if(!$conn) {
    echo '<h1>Nao consegui conectar ao servidor.</h1>';
    die();
}

// Este segundo passo selecciona uma base de dados.
$db = mysql_select_db('base_de_dados');
if(!$db) {
    echo '<h1>Nao consegui conectar ao servidor.</h1>';
    die();
}

// Uma listagem simples de uma tabela de noticias com a seguinte estrutura
//
// id - INT
// titulo - VARCHAR 255
// corpo - TEXT
// autor - VARCHAR 64
//
// Podes usar o phpMyAdmin para te ajudar a criar as tabelas (http://www.phpmyadmin.net)
$sql = 'SELECT * FROM noticias ORDER BY id DESC';
$result = mysql_query($sql);

while($noticia = mysql_fetch_object($result)) {
    echo '<h1>' . $noticia->titulo . '</h1>';
    echo '<p>' . nl2br($noticia->corpo) . '<br><small>Escrito por <b>' . $noticia->autor . '</b></small></p>';
}

// Liberta a memoria do resultado
mysql_free_result($result);
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa explicação!! Só tenho a fazer 1 observações

Aqui

$sql = 'SELECT * FROM noticias ORDER BY id DESC';

falta um  ;

sem o ; dá erro.... ( já me aconteceu ....  ;) )

$sql = 'SELECT * FROM noticias ORDER BY id DESC;';

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

// Liberta a memoria do resultado
mysql_free_result($result);

O que é isto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

// Liberta a memoria do resultado
mysql_free_result($result);

O que é isto?

o mysql_free_result(); vai faser com que toda a memoria utilizada seja libertada. Por exemplo se tiveres a faser uma query grande a base dados e aconselhavel usares a função no fim do script, pois, se tiver a ser usada muita memoria essa e libertada automaticante (Se a função conseguir ser executada).

Esperto ter ajudado.

RayBacK

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa explicação!! Só tenho a fazer 1 observações

Aqui

$sql = 'SELECT * FROM noticias ORDER BY id DESC';

falta um  ;

sem o ; dá erro.... ( já me aconteceu ....  ;) )

$sql = 'SELECT * FROM noticias ORDER BY id DESC;';

Não é preciso, só seria preciso se fosse executado na linha de comandos do mysql

E não dá nenhum erro porque eu utilizo sempre sem  ;    :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora