CONSTRUÇÃO DE PÁGINAS WEB III Prof. Antonio Miguel Faustini Zarth [email protected].
-
Upload
maria-do-pilar-cavalheiro-de-paiva -
Category
Documents
-
view
227 -
download
5
Transcript of CONSTRUÇÃO DE PÁGINAS WEB III Prof. Antonio Miguel Faustini Zarth [email protected].
Preliminares
• O PHP pode se conectar com praticamente todo SGBD popular;
• Para cada um, podem existir uma série de funções associadas como: conexão, consulta, retorno, desconexão...
• Daremos ênfase em conexão ao MySQL com mysqli e PDO
Atenção
• A partir daqui além do Apache e do PHP rodando, você precisará do MySQL instalado em sua máquina.
Antigamente
<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) { die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>
<?php$link = mysqli_connect('localhost', 'user', ‘pass', 'db');
if (!$link) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());}
echo 'Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);?>
Conectando com mysqli (POO)
<?php
$conn = new mysqli('localhost','username','password','database');
?>
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db);
if (mysqli_connect_error()) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } }
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
Realizando uma consulta - Procedural
<?php$link = mysqli_connect("localhost", "user", "password", "world");
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows.\n", mysqli_num_rows($result));
mysqli_free_result($result);}?>
Realizando uma consulta - POO
<?php$mysqli = new mysqli("localhost", "user", "password", "world");
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) { printf("Select returned %d rows.\n", $result->num_rows);
$result->close();}?>
Exemplo de resultados POO
<?php $conn = new mysqli('localhost', 'root', '', 'filmes'); $sql = "SELECT * FROM filme LIMIT 5";$query = $conn->query($sql);while ($dados = $query->fetch_array()) {
echo 'Titulo: ' . $dados['titulo'] . '<br />';echo 'Ano: ' . $dados['ano_lancamento'] . '<br /><br />';
}echo 'Registros encontrados: ' . $query->num_rows; ?>
fetch_row
<?php// mysqli_result::fetch_row -- mysqli_fetch_row // Obtém uma linha do resultado como uma matriz numerada$mysqli = new mysqli("localhost", "my_user", "my_password", "world");$query = "SELECT Name, CountryCode FROM City ORDER by ID";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_row()) { printf ("%s (%s)\n", $row[0], $row[1]); }
$result->close();}$mysqli->close();?>
mysqli fetch_object
Diferente do mysqli_fetch_array, a função mysqli_fetch_object() irá retornar a linha atual do conjunto de resultados como um objeto aonde os atributos do objeto representam os nomes dos campos encontrados no conjunto de resultados.
<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER by ID";
if ($result = $mysqli->query($query)) {
while ($obj = $result->fetch_object()) { echo $obj->Name. “ - ”; echo $obj->CountryCode.”<br>”; } echo “Quantidade de registros: ”. $result>num_rows; $result->close();}
$mysqli->close();?>
Para INSERT, UPDATE OU DELETE...
<?php $mysqli = new mysqli("localhost", "root", "", "teste"); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit();} $query = "INSERT INTO tabela2 (d2) VALUES (100)"; if ($result = $mysqli->query($query)) { echo "inserido com sucesso";} $mysqli->close();?>
Para INSERT, UPDATE OU DELETE...
<?php $mysqli = new mysqli("localhost", "root", "", “filmes"); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit();} $query = "DELETE FROM FROM filme WHERE nome LIKE ‘Crepusculo’ "; if ($result = $mysqli->query($query)) { echo ‘Filmes excluídos: ' . $query->affected_rows;} $mysqli->close();?>
Mapeando objetos automaticamente
<?phpclass Filme { public $cod_filme; public $titulo; public $ano_lancamento; public function info() { return '<hr>#'.$this->cod_filme.': '.$this->titulo.'
'.$this->ano_lancamento; }}?>
<?php$query = "SELECT * FROM filme";if ($result = $mysqli->query($query)) { while ($obj = $result->fetch_object('Filme')) {
echo $obj->info(); } $result->close();}?>