Programação

quinta-feira, 26 de março de 2020

CONEXÃO À BASE DE DADOS

VERSÃO DO PHP   
http://localhost/dashboard/phpinfo.php



O PHP 5 e versões posteriores podem trabalhar com um base de dados MySQL usando:

  • Extensão MySQLi (o "i" significa aprimorado)
  • PDO (Objetos de Dados PHP)

O PDO funciona em 12 sistemas de base de dados diferentes, enquanto o MySQLi funciona apenas com base de dados MySQL.


Sintaxes MySQLi e PDO

três maneiras de trabalhar com PHP e MySQL:

  • MySQLi (orientado a objetos)
  • MySQLi (procedural)
  • PDO (Objetos de Dados PHP)

PDO funciona em 12 sistemas de base de dados diferentes, enquanto o MySQLi funciona apenas com base de dados MySQL.



FUNÇÕES EM PHP

👉FUNÇÃO de CONEXÃO com o servidor MySQL

https://www.w3schools.com/php/php_mysql_connect.asp 


  • Estilo MySQLi Procedural

    $con = mysqli_connect("localhost","my_user","my_password","my_db");
  • Estilo MySQLi Object-Oriented  

     $connew mysqli("localhost","my_user","my_password","my_db");

    SCRIPT em PHP de conexão à base de dados


Pode-se utilizar a função die (‘texto a apresentar ’) que é equivalente à função exit(), conjuntamente com a função mysqli_connect_error() ; e escrever se a conexão à BD
 foi realizada com sucesso ou não.

ou  


 
👉 FUNÇÃO EXECUTAR UMA CONSULTA na BASE DE DADOS 
   
Estilo MySQLi Procedural
        função   mysqli_query(  connectionqueryresultmode)


Estilo MySQLi Object-Oriented  

$result = $con-> queryqueryresultmode) 
 


CONSULTAS em SQL

Em SQL (Structured Query Language), as queries (consultas) são usadas para
selecionar, inserir, atualizar ou excluir dados em uma base de dados.


TIPOS DE QUERY'S em SQL:
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • JOIN
  • SubConsultas ...


👉SQL: INSERIR  DADOS na BASE DE DADOS


a I
nstrução SQL INSERT INTO é usada para adicionar novo registo a uma tabela da BD 

  "INSERT INTO tabela VALUES ("valor1","valor2", ...)"

  ou com designação dos campos da tabela

 "INSERT INTO tabela (campo1, campo2,... ) VALUES ('valo1','valor2',...)"


EXEMPLO:
          
mysqli_query($con, "INSERT INTO Users VALUES ( 100,'Ana Rita')"  );

ou 

podemos utilizar uma variável $query para guardar a instrução SQL e posteriormente usar a função mysqli_query

  

$query = "INSERT INTO Users VALUES (100,'Ana Rita')";

                                mysqli_query ( $con , $query );

 


👉FUNÇÃO em PHP  FECHAR A BD

Sintaxe:  mysqli_close (connection)   ou

          Estilo POO:       $connection->close();

                 

EXERCÍCIO de inserção de dados de numa Base de Dados:

Criação de um formulário de REGISTO ; 

Criação da Base de Dados bd_alunos e da tabela alunos ;

3º criar o script em PHP com o código de conexão à base de dados e inserção dos dados na tabela alunos da BD


-Considerando que o website tem um formulário de registo de dados;
- temos que criar no phpmyadmin a BD com a respetiva tabelas alunos
- e temos que elaborar o script em php que faça a ligação e inserção dos dados do formulário na tabela da BD


1. FORMULÁRIO DE DADOS
com 4 caixas de entrada 

código do formulário - utilização do Bootstrap

Na tag form, é chamado o script  action = "inserir_aluno_bd.php" que vai fazer a conexão à BD inserir os dados de registo na tabela Alunos.

formulário ao ser submetido pelo método POST cria o array associativo $_POST que guarda os dados introduzidos;






2º Criar no phpMyAdmin a BD bd_alunos e a tabela Alunos com 4 campos correspondentes aos campos do formulário.
 
tabela alunos com os campos nprocesso, nome, email, senha


 3. O script em PHP deve fazer a recolha dados guardados no array $_POST que foram inseridos no formulário pelo utilizador e inseri-los na tabela alunos da BD 
      
 Exemplo da recolha dos dados inseridos no formulários
  em que utiliza 4 variáveis em php  para guardar cada um dos valores de cada índices do array $_POST
   
$nprocesso = $_POST['nprocessof'];   
   


Script "inserir_dados_bd.php"

 -------------------------------------------------------------------------------------------------------- 




👉 SQL: CONSULTA com SELEÇÃO DE DADOS da tabela da Base de Dados

 Relembrando que a instrução SELECT em SQL é usada para selecionar os dados de uma tabela ou mais tabelas da Base de Dados e retorna esses dados na forma de uma tabela de resultados. 
 
SELECT campo1, campo2, campon FROM  table; 

 

Todos os campos:      SELECT  *  FROM  table


Filtrar registos -  WHERE 

encontrar apenas os registos que atendem a uma condição especificada.

SELECT campo1, campo2, campon FROM  tabela  WHERE condition ; 

 

EXEMPLO: "SELECT * FROM Clientes WHERE nome='Ana'" 




 FUNÇÕES em PHP para a Seleção, recolha e listar dados na BD

 usar a  função   mysqli_query            (fazer a consulta
usar a funçãmysqli_fetch_assoc  (buscar/recolha dos dados de cada registo)


QUERY de SELEÇÃO e RECOLHA dos DADOS RESULTANTES DA QUERY de SELEÇÃO

 $result_query = mysqli_query($con, "SELECT * FROM Alunos WHERE nome='Ana'");

 $registo mysqli_fetch_assoc( $result_query); 

 
   VERIFICAR nª de REGISTOS
        num_registos= mysqli_num_rows ( $result_query 



ESTILO POO
$registo = $result_query -> fetch_assoc();

$num_registos = $result_query -> num_rows();



ESCREVER cada um dos REGISTOS da existente na tabela

   utilizar o  ciclo while enquanto recolhe cada REGISTO e 
    depois 
 escreve cada dado de acordo com o campo da tabela  ( echo  $registo['campotabela'])
--------------------------------------------------------------------------

Exercício: Criar um script que vai selecionar todos os dados da tabela Alunos e escreve-os no ecrã


$query = "SELECT * FROM alunos"



DESAFIO

Alterar código do exercício do header M5 e fazer registo de dados (item Inovar alunos) e no outro item Listar alunos; 



Mysqli-object-oriented-mysqli procedure and POO






6 comentários: