Neste tutorial abordaremos como inserir e selecionar dados no mysql, tudo o que precisaremos é de um Servidor(Wamp, Lamp, Xamp) ou qualquer outro que tenha o php, apache, mysql e um gerenciador de banco de dados tipo o phpmyAdmin, um editor de código, um conhecimento breve em SQL para manipular a inserção e seleção de dados.
Extensoes MYSQLI e PDO(PHP DATA OBJECT)
Se você vai seguir o exemplo desse tutorial então precisa saber que você deve usar uma extensão do php para fazer a comunicação entre o php e a base de dados. Existe duas opções o MYSQLI e o PDO, antes do MYSQLI tínhamos a MYSQL mas ela ficou obsoleta, então temos a MYSQLI orientada a objetos e a MYSQL procedural e como ja fica explicito no nome o único SGBD que o Mysqli pode se comunicar é o Mysql. Já o PDO pode se comunicar com diversos SGBDs diferentes e você não vai se limitar e nem precisar mudar todo seu código caso algum dia troque o SGBD, se você é um iniciante então recomendo que use o Mysqli já que o PDO é orientado a objetos e pode ficar um pouco dificil de entender . Aqui usaremos o Mysqli procedural.
Criando o banco de dados e a tabela
Vamos criar o banco e a tabela e assim vamos aprender a popular as tabelas
CREATE DATABASE IF NOT EXISTS `pessoa` ;
USE `pessoa`;
CREATE TABLE IF NOT EXISTS `pessoas` (
`cod` int(10) NOT NULL,
`nome` varchar(50) NOT NULL,
`idade` int(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Formulario HTML
Vamos criar o formulario em html para que os dados sejam inseridos.
<form action="inserir.php" method="POST">
Nome:<input type="text" name="nome">
Idade:<input type="number" name="idade">
<input type="submit" value="Enviar">
</form>
Inserindo Dados
Primeiramente nós precisamos fazer a conexão com o banco e para isso iremos usar o comando mysqli_connect(); nesse comando nós passamos os parâmetros da nossa conexão como o nome do nosso servidor, nosso nome de usuário, senha e o nome do banco de dados
$server = "localhost";//nome do seu servidor, geralmente é localhost mesmo
$user ="seu nome de usuario";//aqui você vai colocar seu nome de usuário, se vc não mudou na hora da instalação então ele pode ser root.
$pass ="senha do bd";//esse campo é referente a senha se vc não definiu uma senha entao esse campo é vazio
$db = "nome do bdp";//aqui fica o nome do banco de dados que vc vai usar, no nosso caso vai ser pessoa
$conn = mysqli_connect($server, $user,$pass,$db);
if(!$conn){
die("A conexão falhou:". mysqli_connect_error());
/**aqui nós verificamos se a conexão foi bem sucedida,
se ela nao for pra isso que serve a exclamação(!), então a função die vai
parar o script e mostrar a mensagem de erro com o comando
mysqli_connect_error()**/}
//recuperando a variavel do html
$nome = $_POST['nome'];
$idade = $_POST['idade'];
Agora nós vamos utilizar um pouco da linguagem SQL para inserir os dados na tabela. Depois do Insert into vem o nome da tabela que você quer popular e entre parenteses os campos onde vc quer inserir os dados, os campos tem que ser na mesma ordem onde os campos estão no mysql. A variável que vai ser enviada para o mysql tem que ser dentro de aspas simples
$sql ="INSERT INTO pessoas(nome, idade) VALUES('$nome','$idade')";
Precisamos saber se os dados foram mesmo enviados para a tabela certo? entao vamos fazer um if e verificar se tudo ocorreu bem. Nessa parte nós estaremos utilizando a função mysqli_query, ela vai receber dois parâmetros a nossa conexão e a query que queremos enviar que é a variável $sql.
if(mysqli_query($conn, $sql)){
echo "Registro inserido com sucesso";
}else{
echo "Erro: ".$sql."
";
mysqli_error($conn);
}
Feito isso se tudo ocorreu bem sem nenhum tipo de erro então significa que ate aqui esta tudo ok e os dados foram inseridos na tabela.
Selecionando dados do Mysql
Para selecionar os dados é bem simples tudo que vamos precisar é duas funções e um loop. As funções mysqli_fetch_array e mysqli_num_rows, e o loop vai ser o while.
A função mysql_fetch_array () obtém uma linha do resultado como uma matriz associativa, uma matriz numérica, ou ambas. A mysqli_num_rows retorna o numero de linhas do resultado.
$select = "SELECT * FROM pessoas";//seleciona todos os campo da tabela
$result = mysqli_query($conn, $select);//faz uma query com o resultado do select
se o numero de linhas do resultado for maior que 0 então vamos exibir os dados contidos nos campos da tabela pessoa, no loop while nós vamos atribuir a variável $row os dados como um array e depois exibi-los. Pronto assim se faz uma seleção de dados com o php.
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
echo "Nome: ".$row['nome']."
";
echo "Idade: ".$row['idade']."
";
echo "Codigo: ".$row['cod']."
"; } }
As funções utilizadas:
mysqli_num_rows: http://www.w3schools.com/php/func_mysqli_num_rows.asp
mysqli_fetch_array: http://www.w3schools.com/php/func_mysqli_fetch_array.asp
die: http://www.w3schools.com/php/func_misc_die.asp
mysqli_query: http://www.w3schools.com/php/func_mysqli_query.asp
mysqli_connect: http://www.w3schools.com/php/func_mysqli_connect.asp
mysqli_error e mysqli_connect_error : http://www.w3schools.com/php/func_mysqli_error.asp