Jump to content

Recommended Posts

Posted

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

Posted

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);
?>
  • 3 weeks later...
Posted

// 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

Posted

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  ;    😄

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.