e
phpMyAdmin
Prof. Gláucya Boechat
gcbcht@gmail.com
MySQL
● O MySQL é o banco de dados mais popular usado com PHP.
– Compatível com as linguagens PHP, C/C++, C#, Java entre
outras.
● Ideal para pequenas e grandes aplicações
● Suporta o padrão SQL
● A combinação PHP/MySQL é multiplataforma
– Pode ser desenvolvida no Windows e usada no plataforma UNIX
● Download
– http://www.mysql.com
2
phpAdmin
● O phpAdmin é um gerenciador de banco de dados
para administrar o MySQL com interface web
● Com o phpAdmin é possível:
– Criar, alterar e remover tabelas e bases de bados
– Inserir, editar e remover dados de tabelas
– Importar e exportar tabelas e bases de dados
– Suporta consultas em SQL
● O aplicativo foi desenvolvido em PHP.
● Download
– http://www.phpmyadmin.net
3
phpMyAdmin
4
phpMyAdmin
5
Classe MySQLi
● Classe que representa uma conexão entre o
PHP e um banco de dados MySQL.
– Atributos
● affected_rows — Número de linhas afetadas pela
operação MySQL anterior
● error — String que descreve o ultimo erro
● server_info — Versão do servidor MySQL
● server_version — Versão do servidor MySQL como um
integer
● …
6
Classe MySQLi
● Métodos
__construct()
● Abre uma conexão com servidor MySQL
close()
● Fecha uma conexão aberta anteriormente
select_db()
● Seleciona uma base de dados(database)
query()
● Realiza uma consulta na base de dados
…
7
Classe MySQLi_Result
● Representa o conjunto de resultados da
consulta feita à base da dados(database)
– Atributos
● num_rows — Número de linhas retornado da consulta
● field_count — Número de colunas retornada da
consulta
● lengths — Tamanho das colunas da atual linha
retornado da consulta
● current_field — Linha atual retornado do método
fetch_field()
8
Classe MySQLi_Result
● Métodos
mysqli_fetch_assoc()
● Obtem uma linha do conjunto de resultados como uma matriz
associativa
● Percorre resultados de uma pesquisa
mysqli_fetch_row()
● Obtém uma linha do resultado como uma matriz numerada
fetch_object()
● Retorna a linha atual do conjunto de resultados como um objeto
free()
● Libera memória do conjunto de resultados chamado
…
9
Classe MySQLi
● Conexão com o banco de dado
__construct(string $host,
string $username, string $passwd,
string $dbname, string $port,
string $socket);
– Exemplo
$db = new mysqli($host,$username,$passwd);
10
Conexão com o banco de dado
<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}else{
echo "Conexão aberta";
}
11
?>
Conexão com o banco de dado
<?php
$host = "localhost"; $username = "root";
$passwd = ""; $dbname = 'books';
$db = new mysqli($host,$username,$passwd,$dbname);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}else{
echo "Conexão aberta";
}
12
?>
Classe MySQLi
● Fechar uma conexão aberta anteriormente
com o banco de dados
– Método
bool close ( void );
– Exemplo
$db>close();
13
Conexão com o banco de dado
<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}else{
echo "Conexão aberta";
$db>close();
}
?> 14
Classe MySQLi
● Selecionar uma base de dados
bool select_db(string $dbname);
– Exemplo
$db>select_db("books");
15
Conexão com o banco de dado
<?php
$host = "localhost";
$username = "root"; $passwd = "";
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}else{
$db>select_db("books");
$db>close();
}
16
?>
Classe MySQLi
● Realizar uma consulta na base de dados
mixed query(string $query)
– Exemplo
$db>query("SELECT author FROM books");
17
Criação da base de dados
● SQL
CREATE DATABASE dbname;
● PHP
$sql = "CREATE DATABASE ".$dbname;
$db>query($sql);
18
Criação da base de dados
<?php
$db = new mysqli($host,$username,$passwd);
if ($db>connect_error){// Verifica a conexão
die('Erro('.$db>connect_errno.')'.$db>connect_error);
}
$dbname = "books";
$sql = "CREATE DATABASE ".$dbname;
if($db>query($sql)){
echo "Base de dados criada com sucesso";
}
$db>close();
19
?>
Criação da base de dados
20
Deletar uma base de dados
● SQL
DROP DATABASE dbname;
● PHP
$sql = "DROP DATABASE ".$dbname;
$db>query($sql);
21
Deletar Base de Dados
$dbname = "books";
$sql = "DROP DATABASE ".$dbname;
if($db>query($sql)){
echo "Base de dados deletada com sucesso";
}
22
Criação de tabelas
● SQL
CREATE TABLE nome_tabela(
nome_coluna1 tipo_de_dado(size),
nome_coluna2 tipo_de_dado(size),
nome_coluna3 tipo_de_dado(size),
…
);
23
Tabela Books
create table books(
isbn char(13) not null primary key,
author char(30),
title char(60),
price float(4,2)
);
24
Criação de tabela
● PHP
– Exemplo
$sql = "CREATE TABLE books(
isbn char(13) NOT NULL,
author char(30),
title char(60),
price float(4,2),
PRIMARY KEY(isbn)
)";
$db>query($sql);
25
Criação de tabelas
<?php
$db = new mysqli($host,$username,$passwd,$dbname);
$sql = "CREATE TABLE books(isbn char(13) NOT NULL,
author char(30), title char(60),price float(4,2),
PRIMARY KEY(isbn))";
if($db>query($sql)){
echo "Tabela criada com sucesso.";
}
$db>close();
?>
26
Criação de tabelas
27
Inserção de dados
INSERT INTO nome_tabela
VALUES (
valor1, valor2, valor3, …
);
Exemplo
INSERT INTO books
VALUES ('8535911693 ', 'Jorge Amado',
'Capitães da Areia', 30.80);
28
Inserção de dados
$sql = "INSERT INTO books
VALUES('8535911693', 'Jorge Amado',
'Capitães da Areia', 30.80)";
if($db>query($sql)){
echo "Livro inserido com sucesso.";
}
29
Inserção de dados
30
Inserção de dados
INSERT INTO nome_tabela (
coluna1, coluna2, coluna3, ...)
VALUES (
valor1, valor2, valor3, ...);
Exemplo
INSERT INTO books (isbn, author, title,price)
VALUES (
'8577994171', 'José de Alencar', 'Til', 18.00
); 31
Inserção de dados
$sql = "INSERT INTO books(
isbn,author, title,price)
VALUES('8577994171','José de Alencar',
'Til', 18.00)";
if($db>query($sql)){
echo "Livro inserido com sucesso.";
}
32
Inserção de dados
33
Insere livro .html
<html>
<body>
<h1>Dados do livro</h1>
<form action="insert_book.php" method="post">
ISBN:<input type="text" name="isbn" maxlength="13"
size="13"><br />
Autor:<input type="text" name="author"
maxlength="30" size="30"><br />
Título:<input type="text" name="title"
maxlength="60" size="30"><br>
Preço R$:<input type="text" name="price"
maxlength="7" size="7"><br />
<input type="submit" value="Enviar">
</form>
</body>
</html>
34
insert_book.php
<?php
echo 'Livraria';
$isbn = $_POST['isbn'];
$author = $_POST['author'];
$title = $_POST['title'];
$price = $_POST['price'];
if (!$isbn || !$author || !$title || !$price){
echo 'Você não enviou todos os dados necessários.';
exit;
}
$price = doubleval($price);
//...
35
insert_book.php
//...
$db = new mysqli("localhost","root","",'books');
if ($db>connect_error) {
die('Erro('.$db>connect_errno.')'
.$db>connect_error);
}
$sql = "insert into books values(
'".$isbn."','".$author."','".$title."','". $price."')";
if ($db>query($sql)){
echo 'Livro inserido com sucesso.';
}
$db>close(); 36
?>
Inserção de dados
37
Consulta
SELECT coluna1, coluna2,…
FROM nome_tabela;
Exemplos
SELECT title, author
FROM books;
38
Consulta
$sql = "SELECT title, author
FROM books";
$result = $db>query($sql);
39
Consulta
$sql = "SELECT title, author
FROM books";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo ', Autor: '.$book>author.'</p>';
}
$result>free();
40
}
Resultado da consulta
SELECT title, author
FROM books;
41
Consulta
SELECT *
FROM nome_tabela;
Exemplos
SELECT *
FROM books;
42
Consulta
$sql = "SELECT *
FROM books";
$result = $db>query($sql);
43
Consulta
$sql = "SELECT * FROM books";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo '<br/> Autor: '. $book>author;
echo '<br />ISBN: '. $book>isbn;
echo '<br />Preço: '.$book>price.'</p>';
}
$result>free();
44
}
Resultado da consulta
SELECT *
FROM books;
45
Cláusula where
SELECT coluna1, coluna2,…
FROM nome_tabela
WHERE coluna operador valor;
Exemplos
SELECT title, author
FROM books
WHERE (price > 15.5);
46
Cláusula where
47
Consulta
$sql = "SELET title, author
FROM books
WHERE (price > 15.5)";
$result = $db>query($sql);
48
Consulta
$sql = "SELECT title, author
FROM books
WHERE (price > 15.5)";
if ($result = $db>query($sql)){
while ($book = $result>fetch_object()) {
echo '<p>Título: '. $book>title ;
echo '<br/>Autor: '.$book>author.'</p>';
}
$result>free();
49
}
Resultado da consulta
SELET title, author
FROM books
WHERE (price > 15.5);
50