ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si 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: 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"); ABRIR CONEXÃO PERMANENTE 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. FECHAR CONEXÃO 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.
SELECIONAR 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. CRIANDO UM NOVO BANCO DE DADOS A função mysql_create_db() cria um novo banco de dados no servidor indicado pelo identificador de conexão especificado. mysql_create_db( administrativo, $con); Esse comando equivale ao USE do MySQL. EXECUTANDO SQL Podemos executar comandos SQL através da função mysql_query(). $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 $resultado = mysql_query("select * FROM exemplo, $con); while ($linha = mysql_fetch_array($resultado)){ echo $linha[ id'].. $linha[ nome'].. $linha[ email']; echo "<br>"; } IMPRIMINDO OS DADOS DE UMA TABELA 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_FETCH_ASSOC Obtém um linha do resultado somente como uma matriz associativa e move o ponteiro interno dos dados adiante. INSERINDO DADOS EM UMA TABELA $comando = "INSERT INTO funcionarios VALUES (null, Leonardo', leon@exemplo.com ); mysql_query($comando, $con,);
ATUALIZANDO DADOS EM UMA TABELA REMOVENDO DADOS DE UMA TABELA mysql_query( UPDATE funcionario set email = leonardo@exemplo.com where id = 1), $con); $sql = DELETE from funcionario where id = 1 ; mysql_query($sql, $con); MYSQL_AFFECTED_ROWS Obtém o número de linhas atingidas ao processar os comandos INSERT, UPDATE e DELETE. mysql_query("insert INTO funcionarios VALUES (null, Leonardo', leon@exemplo.com ), $con); echo mysql_affected_rows(); // saída será 1 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);