ABRIR CONEXÃO Antes de podermos acessar informações em um banco de dados, é necessário abrir uma conexão com o SGBD. Podemos abrir uma conexão PHP / MySQL com a função mysql_connect(). Essa função recebe pode receber 4 argumentos, sendo opcional o campo database: PHP INTEGRAÇÃO COM MYSQL PARTE 2 host – URL ou endereço IP da máquina. user – nome de usuário MySQL. senha – senha do usuário. database – nome do banco de dados. $con = mysql_connect(“127.0.0.1",“leon","abc123",“exemplo"); Professor: Leonardo Pereira Email: [email protected] Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si ABRIR CONEXÃO PERMANENTE FECHAR CONEXÃO Podemos abrir uma conexão permanente com o comando mysql_pconnect(). Semelhante ao mysql_connect() com duas diferenças. 1) Ao conectar, a função irá primeiro tentar encontrar uma conexão persistente que já esteja aberta com o mesmo servidor. Se for encontrada, um identificador para ela será retornado ao invés de abrir uma nova conexão. 2) A conexão ao SGBD não será fechada quando a execução do script terminar. Ela permanecerá aberta para uso futuro. Uma conexão aberta é fechada automaticamente quando o script termina. Podemos fechar a conexão antes deste evento com a função mysql_close(). Recebe como parâmetro a variável que representa a conexão a ser fechada. $con = mysql_connect(“127.0.0.1",“leon","abc123"); mysql_close($con); SELECIONAR BANCO DE DADOS CRIANDO UM NOVO BANCO DE DADOS A função mysql_connect() não é a única que permite escolher o banco de dados a ser usado. A função mysql_select_db() recebe como argumento o nome do banco de dados e a variável que representa a conexão que foi aberta com o SGBD. A função mysql_create_db() cria um novo banco de dados no servidor indicado pelo identificador de conexão especificado. $con = mysql_connect(“127.0.0.1",“leon","abc123"); mysql_create_db(“administrativo”, $con); $con = mysql_connect(“127.0.0.1",“leon","abc123"); mysql_select_db(“exemplo”, $con); Esse comando equivale ao USE do MySQL. EXECUTANDO SQL Podemos executar comandos SQL através da função mysql_query(). $con = mysql_connect(“127.0.0.1",“leon","abc123"); mysql_select_db(“exemplo”, $con); $consulta = “select * from funcionario”; mysql_query($consulta, $con); IMPRIMINDO OS DADOS DE UMA TABELA Podemos usar a função mysql_query() para enviar um comando SQL ao SGBD. O comando SELECT permite consultar dados em uma tabela. Podemos imprimir os dados de uma tabela dentro do PHP utilizando algumas funções de repetição do PHP e algumas função de apoio que percorrem os dados da tabela dentro do script PHP. IMPRIMINDO OS DADOS DE UMA TABELA IMPRIMINDO OS DADOS DE UMA TABELA <?php $con = mysql_connect(“127.0.01",“leon","abc123"); mysql_select_db(“exemplo”, $con); $resultado = mysql_query("SELECT * FROM exemplo“, $con); while ($linha = mysql_fetch_array($resultado)){ echo $linha[‘id'] . “ ” . $linha[‘nome'] . “ ” . $linha[‘email']; echo "<br>"; } O exemplo armazena a informação retornada pela função mysql_query() na variável $resultado. Depois, foi usada a função mysql_fetch_array() para retornar a primeira linha do resultado como um array associativo. Cada chamada a função mysql_fetch_array() retorna a próxima linha do resultado. O while vai percorrer todas as linhas da resposta. Para imprimir o valor de cada linha usamos a variável $linha passando como índice para o array o nome do cabeçalho de cada coluna. Desta forma, o comando mysql_fetch_array() obtém uma linha como uma matriz associativa ou uma matriz numérica ou ambas. mysql_close($con); ?> MYSQL_FETCH_ASSOC INSERINDO DADOS EM UMA TABELA Obtém um linha do resultado somente como uma matriz associativa e move o ponteiro interno dos dados adiante. <?php $con = mysql_connect(“127.0.01",“leon","abc123"); $comando = "INSERT INTO funcionarios VALUES (null, ‘Leonardo', ‘[email protected]’); mysql_query($comando, $con,); mysql_close($con); ?> ATUALIZANDO DADOS EM UMA TABELA REMOVENDO DADOS DE UMA TABELA <?php <?php $con = mysql_connect(“127.0.01",“leon","abc123"); $con = mysql_connect(“127.0.01",“leon","abc123"); mysql_select_db(“exemplo”, $con); mysql_select_db(“exemplo”, $con); $sql = “DELETE from funcionario where id = 1”; mysql_query(“UPDATE funcionario set email = [email protected] where id = 1), $con); mysql_close($con); mysql_query($sql, $con); mysql_close($con); ?> ?> MYSQL_AFFECTED_ROWS Obtém o número de linhas atingidas ao processar os comandos INSERT, UPDATE e DELETE . <?php $con = mysql_connect(“127.0.01",“leon","abc123"); mysql_select_db(“exemplo”, $con); mysql_query("INSERT INTO funcionarios VALUES (null, ‘Leonardo', ‘[email protected]’), $con); echo mysql_affected_rows(); // saída será 1 mysql_close($con); ?> MYSQL_NUM_ROWS Obtém o numero de linhas de um conjunto de resultados. Este comando é valido apenas para o comando SELECT. $c = mysql_query(“select * from funcionario”, $con); Se quisermos saber quantias linhas existem nesta consulta podemos usar o comando mysql_num_rows. mysql_num_rows($c); MYSQL_FREE_RESULT Libera um resultado da memoria principal. $ c = mysql_query(“select * from funcionario”, $con); A variável $c representa o retorna da consulta que foi executa via mysql_query. Se o resultado ocupar muita memoria, podemos limpar os dados da consulta com a função mysql_free_result. mysql_free_result($c);