Salve, salve! Galera do Código Master.
Neste post, veremos como realizar uma conexão com o banco de dados MySQL, utilizando comandos em PHP, e executar uma consulta em uma de suas tabelas para exibir os dados na tela.
Crie um novo arquivo php chamado exemplo_consulta.php, e salve-o em na raiz do seu site, ou onde for realizar os testes.
Criaremos uma tabela de testes, para este exemplo, e povoaremos com alguns dados, assim, fica mais fácil o aprendizado.
Veja abaixo o script de criação nossa tabela:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//CRIANDO NOSSA TABELA CREATE TABLE cliente( codcliente INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100) NOT NULL, idade INT NOT NULL ); //POVOANDO A TABELA INSERT INTO cliente (`nome`,`idade`) VALUES ('Tião', 27), ('Joãozinho', 22), ('Mariazinha', 18), ('Seu Zé', 45); |
Acima, temos dois códigos, o primeiro, para criação da tabela, enquanto o segundo, fará a inclusão de três registros nela. Já com os dados dispostos na tabela, podemos realizar nossa consulta, considerandos que todos os dados serão devidamente exibidos em nossa consulta.
Em nosso arquivo exemplo_consulta.php, criado anteriormente, vamos iniciar com o seguinte código:
1 2 |
//iniciando a conexão com o banco de dados $cx = mysqli_connect("127.0.0.1", "root", ""); |
Este código, realiza uma conexão com o bando de dados. Em seguida…
1 2 |
//selecionando o banco de dados $db = mysqli_select_db($cx, "nome_do_meu_banco"); |
…selecionamos o banco de dados que nossas consultas deverão ser realizadas. Agora, já com a conexão realizada, e o banco de dados selecionado, seguimos com a consulta à tabela criada:
1 2 3 4 |
//criando a query de consulta à tabela criada $sql = mysqli_query($cx, "SELECT * FROM cliente") or die( mysqli_error($cx) //caso haja um erro na consulta ); |
Pronto, já temos nossa consulta realizada. Neste ponto, falta-nos apenas exibir os dados da nossa consulta. Veja o código abaixo:
1 2 3 4 5 6 |
//pecorrendo os registros da consulta. while($aux = mysqli_fetch_assoc($sql)) { echo "-----------------------------------------<br />"; echo "Nome:".$aux["nome"]."<br />"; echo "Idade:".$aux["idade"]."<br />"; } |
O código em questão, utiliza a um laço de repetição (while) para percorrer todos os registros encontrados em nossa consulta, e utilizamos o comando
1 |
mysqli_fetch_assoc() |
Responsável por associar os nomes das colunas de nossa consulta a uma posição de vetor, assim, não será necessário exibir o valor mediante a posição da coluna, 0..1..2 e etc, mas, ao invés, poderemos utilizarmo o nome da coluna como referência, como realizado no código acima.
OBS: Este código, foi criado com base na versão 5.5.12 do PHP. Deve-se observar os comandos utilizados caso esteja utilizando versões anteriores que ainda não suportam a estrutura mysqli.
Veja o arquivo completo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php //iniciando a conexão com o banco de dados $cx = mysqli_connect("127.0.0.1", "root", ""); //selecionando o banco de dados $db = mysqli_select_db($cx, "test"); //criando a query de consulta à tabela criada $sql = mysqli_query($cx, "SELECT * FROM cliente") or die( mysqli_error($cx) //caso haja um erro na consulta ); //pecorrendo os registros da consulta. while($aux = mysqli_fetch_assoc($sql)) { echo "-----------------------------------------<br />"; echo "Nome:".$aux["nome"]."<br />"; echo "Idade:".$aux["idade"]."<br />"; } ?> |
Então, é isso galera. Espero ter ajuda. Um grande abraço e até o próximo post.
obg!!!!! e ajudou muito
Obrigado.
Obrigado!
Beleza… belezura! Ajudou muito.
Fico feliz.
Como faria para selecionar um dado específico da tabela ? Com if ou else ?
Neste caso seria um Where. Não sei se entendi direito pergunta.
SELECT * FROM cliente WHERE nome = ‘Stephanie’
Retorna somente os registros onde o nome do cliente é Stephanie.
o que estao meio da esclamaçoes esta dando erro
if (isset($_POST[‘criar’])) {
$nome = $_POST[‘nome’];
$apelido = $_POST[‘apelido’];
$email = $_POST[‘email’];
$sexo = $_POST[‘sexo’];
$pass = $_POST[‘pass’];
$data = date(“Y/m/d”);
$dia = $_POST[‘dia’];
$mes = $_POST[‘mes’];
$ano = $_POST[‘ano’];
? $email_check = mysql_query(“SELECT email FROM users WHERE email=’$email'”); ?
$do_email_check = mysql_num_rows($email_check);
if ($do_email_check >= 1) {
echo ‘Este email já está registado, fazer seu login aqui‘;
}elseif ($nome == ” OR strlen($nome)9) {
echo ‘escreva seu nome de 2 a 8 letras !’;
}elseif ($email == ” OR strlen($email)>101) {
echo ‘Escreve o teu email corretamente!’;
}elseif ($pass == ” OR strlen($pass)<4) {
echo 'Escreve a tua palavra-passe corretamente, deve ter mais que 4 caracteres!’;
}elseif ($apelido == ” OR strlen($apelido)9) {
echo ‘escreva seu apelido ou sobrenome de 3 a 8 letras !’;
}elseif ($dia == ” OR strlen($dia)< 0) {
echo 'fale o dia em que vcnasceu’;
}elseif ($mes == ” OR strlen($mes)< 0) {
echo 'escreva o mes!’;
}elseif ($ano == ” OR strlen($ano)< 0) {
echo 'escreva o ano’;
}else{
$query = “INSERT INTO users (
nome
,apelido
,email
,password
,sexo
,data
,dia
,mes
,ano
) VALUES (‘$nome’,’$apelido’,’$email’,’$pass’,’$sexo’,’$data’,’$dia’,’$mes’,’$ano’)”;$data = mysql_query($query) or die(mysql_error());
if ($data) {
setcookie(“login”,$email);
header(“Location: ./”);
}else{
echo “Desculpa, houve um erro ao registar-te…”;
}
}
}
Estou fazendo a home de um aplicativo, preciso puxar o nome, o curso e a série em que a pessoa está através do seu login. Como faço isso ?
Olá Giovanna. Uma das formas habituais de fazer isso, é salvar o id do cliente, em uma SESSION. Esse seria o modelo mais simples que mais comum de se fazer.
Por exemplo, você cria um formulário em HTML solicitando o email e a senha do usuário. Após o submit desse formulário, você consulta os dados no banco de dados, se conferem com os informados, se assim for, você registra o ID do cliente, usuário, em uma SESSION.
Após isso, bastaria puxar os dados que você precisa, com base no ID armazenado na SESSION.