PHP MySQLi Funções: mysqli_query, mysqli_connect, mysqli_fetch_array
PHP possui uma rica coleção de funções integradas para manipulação MySQL bases de dados.
Função PHP mysqli_connect
A função PHP mysql connect é usada para conectar a um MySQL servidor de banco de dados.
Possui a seguinte sintaxe.
<?php; $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); ?>
AQUI,
- “$db_handle” é a variável de recurso de conexão com o banco de dados.
- “mysqli_connect(…)” é a função para conexão de banco de dados php
- “$server_name” é o nome ou endereço IP do servidor que hospeda MySQL servidor.
- “$user_name” é um nome de usuário válido em MySQL servidor.
- “$password” é uma senha válida associada a um nome de usuário em MySQL servidor.
Função PHP mysqli_select_db
A função mysqli_select_db é usada para selecionar um banco de dados.
Possui a seguinte sintaxe.
<?php mysqli_select_db($db_handle,$database_name); ?>
AQUI,
- “mysqli_select_db(…)” é a função de seleção de banco de dados que retorna verdadeiro ou falso
- “$database_name” é o nome do banco de dados
- “$link_identifier” é opcional, é usado para passar o link de conexão do servidor
Função PHP mysqli_query
A função mysqli_query é usada para executar SQL consultas.
A função pode ser usada para executar os seguintes tipos de consulta;
- inserção
- Selecionar
- Atualizar
- delete
Possui a seguinte sintaxe.
<?php mysqli_query($db_handle,$query) ; ?>
AQUI,
- “mysqli_query(…)” é a função que executa as consultas SQL.
- “$query” é a consulta SQL a ser executada
- “$link_identifier” é opcional, pode ser usado para passar o link de conexão do servidor
Função PHP mysqli_num_rows
A função mysqli_num_rows é usada para obter o número de linhas retornadas de uma consulta selecionada.
Possui a seguinte sintaxe.
<?php mysqli_num_rows($result); ?>
AQUI,
- “mysqli_num_rows(…)” é a função de contagem de linhas
- “$resultado” é o conjunto de resultados mysqli_query
Função PHP mysqli_fetch_array
A função mysqli_fetch_array é usada para buscar matrizes de linhas de um conjunto de resultados de consulta.
Possui a seguinte sintaxe.
<?php mysqli_fetch_array($result); ?>
AQUI,
- “mysqli_fetch_array(…)” é a função para buscar arrays de linhas
- “$resultado” é o resultado retornado pela função mysqli_query.
Função PHP mysqli_close
A função mysqli_close é usada para fechar uma conexão aberta com o banco de dados.
Possui a seguinte sintaxe.
<?php mysqli_close($db_handle); ?>
AQUI,
- “mysqli_close(…)” é a função PHP
- “$link_identifier” é opcional, é usado para passar o recurso de conexão do servidor
Vejamos exemplos práticos que aproveitam essas funções.
Criando o MySQL banco de dados Este tutorial pressupõe conhecimento de MySQL e SQL, se esses termos não forem familiares para você, consulte nosso MySQL e tutoriais SQL.
Criaremos um banco de dados simples chamado my_personal_contacts com apenas uma tabela.
Abaixo estão as etapas para criar o banco de dados e a tabela.
- Conecte-se MySQL usando sua ferramenta de acesso favorita, como MySQL bancada de trabalho, phpMyAdmin etc.
- Crie um banco de dados chamado my_person_contacts
- Execute o script mostrado abaixo para criar a tabela e inserir alguns dados fictícios
<?php CREATE TABLE IF NOT EXISTS `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, `email` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `my_contacts` (`id`, `full_names`, `gender`, `contact_no`, `email`, `city`, `country`) VALUES (1, 'Zeus', 'Male', '111', 'zeus @ olympus . mt . co', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', 'anthena @ olympus . mt . co', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', 'jupiter @ planet . pt . co', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venus @ planet . pt . co', 'Mars', 'Italy'); ?>
Agora temos um banco de dados configurado que iremos manipular a partir do PHP.
Lendo registros do banco de dados Criaremos agora um programa que imprime os registros do banco de dados.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection fails output error message
$sql_stmt = "SELECT * FROM my_contacts";
//SQL select query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Database access failed: " . mysqli_error());
//output error message if query execution failed
$rows = mysqli_num_rows($result);
// get number of rows returned
if ($rows) {
while ($row = mysqli_fetch_array($result)) {
echo 'ID: ' . $row['id'] . '<br>';
echo 'Full Names: ' . $row['full_names'] . '<br>';
echo 'Gender: ' . $row['gender'] . '<br>';
echo 'Contact No: ' . $row['contact_no'] . '<br>';
echo 'Email: ' . $row['email'] . '<br>';
echo 'City: ' . $row['city'] . '<br>';
echo 'Country: ' . $row['country'] . '<br><br>';
}
}
mysqli_close($dbh); //close the database connection
?>
A execução do código acima retorna os resultados mostrados no diagrama abaixo
Inserindo novos registros
Vejamos agora um exemplo que adiciona um novo registro à nossa tabela. o código abaixo mostra a implementação.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)";
$sql_stmt .= " VALUES('Poseidon','Mail','541',' poseidon @ sea . oc ','Troy','Ithaca')";
$result = mysqli_query($dbh,$sql_stmt); //execute SQL statement
if (!$result)
die("Adding record failed: " . mysqli_error());
//output error message if query execution failed echo "Poseidon has been successfully added to your contacts list";
mysqli_close($dbh); //close the database connection
?>
A execução do código acima resulta em “Poseidon foi adicionado com sucesso à sua lista de contatos”, volte para o exemplo de consulta selecionada e recupere seus contatos novamente.
Veja se Poseidon foi adicionado à sua lista.
Atualizando registros Vejamos agora um exemplo que atualiza um registro no banco de dados.
Suponhamos que Poseidon mudou seu número de contato e endereço de e-mail.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysql_error());
//if selection fails output error message
$sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ' poseidon @ ocean . oc ';
//SQL select query $sql_stmt .= " WHERE `id` = 5";
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number 5 has been successfully updated";
mysqli_close($dbh); //close the database connection
?>
Excluindo registros
Vejamos agora um exemplo que remove registros do banco de dados. Suponhamos que Vênus tenha uma ordem de restrição contra nós e devamos remover as informações de contato dela do nosso banco de dados.
<?php
$dbh = mysqli_connect('localhost', 'root', 'melody');
//connect to MySQL server
if (!$dbh)
die("Unable to connect to MySQL: " . mysqli_error());
//if connection failed output error message
if (!mysqli_select_db($dbh,'my_personal_contacts'))
die("Unable to select database: " . mysqli_error());
//if selection failes output error message $id = 4;
//Venus's ID in the database
$sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id";
//SQL Delete query
$result = mysqli_query($dbh,$sql_stmt);
//execute SQL statement
if (!$result)
die("Deleting record failed: " . mysqli_error());
//output error message if query execution failed
echo "ID number $id has been successfully deleted";
mysqli_close($dbh); //close the database connection
?>
Objeto de acesso a dados PHP DOP
O PDO é uma classe que nos permite manipular diferentes motores de banco de dados como MySQL, PostGres, MS SQL Server etc.
O código abaixo mostra o método de acesso ao banco de dados utilizando o objeto PDO.
Nota: o código abaixo pressupõe conhecimento de linguagem SQL, arrays, tratamento de exceções e loop foreach.
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
$sql_stmt = "SELECT * FROM `my_contacts`";
$result = $pdo->query($sql_stmt);
$result->setFetchMode(PDO::FETCH_ASSOC);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
print_r($data);
}
catch (PDOException $e) {
echo $e->getMessage();
}
?>
AQUI,
- “try{…catch…}” é o bloco de tratamento de exceções
- “$pdo = new PDO(“mysql…” cria uma instância do objeto PDO e passa os drivers de banco de dados, nomes de servidor e banco de dados, ID de usuário e senha.
- “$pdo->setAtt…” define o modo de erro do PDO e os atributos do modo de exceção
- “$pdo->exec('SET NA…” define o formato de codificação
ODBC ODBC é o acrônimo para Open Database Connectivity. Possui a seguinte sintaxe básica.
<?php $conn = odbc_connect($dsn, $user_name, $password); ?>
AQUI,
- “odbc_connect” é a função integrada do PHP
- “$dsn” é o nome da fonte de dados ODBC.
- “$user_name” é opcional, é usado para o nome de usuário ODBC
- “$password” é opcional, é usado para a senha ODBC
O exemplo usado pressupõe você;
- Estão usando Windows OS
- Você criou um link ODBC para o Northwind Microsoft Acesse o banco de dados chamado Northwind
Abaixo está o código de implementação para acesso a dados ODBC
<?php
$dbh = odbc_connect('northwind', '', '');
if (!$dbh) {
exit("Connection Failed: " . $dbh);
}
$sql_stmt = "SELECT * FROM customers";
$result = odbc_exec($dbh, $sql_stmt);
if (!$result) {
exit("Error access records");
}
while (odbc_fetch_row($result)) {
$company_name = odbc_result($result, "CompanyName");
$contact_name = odbc_result($result, "ContactName");
echo "<b>Company Name (Contact Person):</b> $company_name ($contact_name) <br>";
}
odbc_close($dbh);
?>
Resumo
- MySQL é um gerenciamento de banco de dados relacional de código aberto disponível na maioria dos servidores de hospedagem web
- PHP possui uma rica coleção de funções integradas que simplificam o trabalho com MySQL
- PDO é a sigla para PHP Data Object; é usado para conectar-se a diferentes mecanismos de banco de dados usando o mesmo objeto
- PHP usa a função odbc_connect para manipular bancos de dados via ODBC

