Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Modulo 05

Recommended Posts

Curso de PHP online

 

Modulo 5

 

Interagindo com banco de dados (Mysql)

Introdução

 

o Breve Historia Mysql

o mysql_connect

o mysql_select_db

o mysql_query

o mysql_close

o mysql_fetch_array

o mysql_fetch_row

o mysql_fetch_object

o mysql_result

o mysql_error

o mysql_insert_id

o Comando basicos SQL

o [brinde] Sistema de cadastro para Livraria

 

Breve Historia Mysql

 

A derivação do nome MySQL foi criado apartir do prefixo "my" porque o pessoal do desenvolvimento do mysql usava esse prefixo nos seus diretorios e inumeras bibliotecas e ferramentas que eles usavam.

A filha de Monty Widenius ( criador do banco mysql ) também ganhou o nome My

 

mysql-167x86.png

O golfinho do MySQL (logo marca do mysql) é Sakila. Sakila foi escolhido pelos fundadores da MySQL AB de uma enorme lista de

nomes sugeridos pelos usuários em um concurso "Name the Dolphin". O nome vencedor foi enviado por Ambrose Twebaze, um desenvolvedor

de programas open source de Swaziland, Africa. De acordo com Ambrose, o nome Sakila tem as suas raízes em SiSwati, a língua local de

Swaziland. Sakila é também o nome de uma cidade em Arusha, Tanzania, próxima ao país de orígem de Ambrose, Uganda.

 

mysql_connect

 

mysql_connect -- Abre uma conexao com o Mysql

 

mysql_connect("servidor", "usuario", "senha");

por padrao o mysql vem com usuario root e sem senha entao para conectar a primeira vez você pode fazer assim:

mysql_connect("localhost");

 

mysql_select_db

 

mysql_select_db -- Seleciona um banco de dados MySQL

 

mysql_select_db('nome_do_banco');

 

mysql_query

 

mysql_query -- Realiza uma query MySQL

 

exemplo:

mysql_query("select * from tabela");

 

mysql_close

 

mysql_close -- Fecha a conexão com o MySQL

 

exemplo:

 

$link = mysql_connect('localhost', 'usuario', 'senha');

mysql_close($link);

 

mysql_fetch_array

 

mysql_fetch_array -- Busca o resultado de uma linha e o coloca como uma matriz associativa, matriz numérica ou ambas.

 

exemplo:

 

mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");

$re = mysql_query("SELECT * FROM tabela");

while ($l = mysql_fetch_array($re)) {
 echo $l["campo"]."<br>";  
}

 

mysql_fetch_row

 

mysql_fetch_row -- Retorna o resultado de uma linha numa matriz numérica

 

mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");

$re = mysql_query("SELECT * FROM tabela");

while ($l = mysql_fetch_row($re)) {
 echo $l[0]."<br>";  
}

 

mysql_fetch_object

 

mysql_fetch_object -- Retorna o resultado de uma linha como um objeto

 

mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");
$re = mysql_query("select * from tabela");
while ($l = mysql_fetch_object($re)) {
  echo $l->campo."<br>";
}

mysql_result

 

mysql_result -- Retorna dados do resultado

 

mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");

$re = mysql_query("select count(*) as total from tabela");

$total = mysql_result($re, 0, "total");

 

mysql_error

 

mysql_error -- Retorna o texto da mensagem de erro da operação anterior do MySQL

 

$link = mysql_connect("localhost", "usuario", "senha");
if (!$link) { 
die('Erro: ' . mysql_error()); 
} 
echo 'Conexao ok'; 
mysql_close($link);

 

mysql_insert_id

 

mysql_insert_id -- Retorna o ID gerado da operação INSERT anterior

 

 

Comando basicos SQL

 

Mostrarei nesse tutorial uns comando basicos de sql como editar salvar fazer uma busca e explicar o basico dos nomes dos comando sql

SELECT - Seleciona dados da tabela

 

SELECT [nome do campo | *] FROM [tabela] WHERE [campo] = [valor] ORDER BY [campo] [ASC | DESC]

 

- SELECT   = seleciona
- FROM     = da/de/do
- WHERE    = aonde
- ORDER BY = organizar por
- GROUP BY = função de agrupamento
- |        = ou
- ASC      = Ascendente
- DESC     = Descendente

 

 

WHERE condicao for verdadeira

 

codicoes

- campo = valor

- campo > valor

- campo < valor

- campo >= valor

- campo <= valor

- campo like "%texto%" // % = qualquer caracter, _ = um unico caracter

- campo BETWEEN valor_minimo AND valor_maximo // BETWEEN = ENTRE UM E OUTRO

 

 

select * from usuarios where nome like "a%" and idade > 15;

+----+-------+-------+------+---------------------+

| id | nome | idade | sexo | data_cadastro |

+----+-------+-------+------+---------------------+

| 9 | andre | 20 | M | 2004-02-25 19:04:56 |

+----+-------+-------+------+---------------------+

 

 

mysql> select * from usuarios where idade < 30 order by nome desc;

+----+--------+-------+------+---------------------+

| id | nome | idade | sexo | data_cadastro |

+----+--------+-------+------+---------------------+

| 10 | Fabyo | 27 | M | 2004-03-27 19:10:35 |

| 1 | natan | 20 | M | 2004-03-27 18:07:25 |

| 8 | carlos | 20 | M | 2004-03-27 18:12:01 |

| 4 | carla | 20 | F | 2004-03-27 18:19:23 |

| 9 | andre | 20 | M | 2004-03-27 19:04:56 |

+----+--------+-------+------+---------------------+

 

mysql> select nome, idade, sexo from usuarios where idade between 20 and 30;

+--------+-------+------+

| nome | idade | sexo |

+--------+-------+------+

| natan | 20 | M |

| carlos | 20 | M |

| carla | 20 | F |

| raul | 30 | M |

| andre | 20 | M |

+--------+-------+------+

 

 

INSERT - Insere dados na tabela

 

INSERT INTO tabela (campo1, campo2, campo3, ...) VALUES (valor1, valor2, valor3, ...)

Quando não for passado o nome dos campos entre parenteses após a tabela, o servidor entenderá que você

quer inserir todos os campos na ordem que estão da tabela.

 

INSERT INTO tabela VALUES (valor1, valor2, valor3, valor4, ...)

 

- INSERT = inserir

- INTO = dentro de

- VALUES = valores

 

 

insert into usuarios (nome, idade, sexo, data_cadastro)

values ("Fabyo", 27, "M", "1999-12-31 12:00:00");

 

insert into usuarios values ("", "Fabyo", 27, "M", NOW());

 

 

UPDATE - Atualiza valores na tabela

 

UPDATE tabela SET campo1 = valor1, campo2 = valor2, campo3 = valor3 WHERE campo = valor

 

- UPDATE = Atualiza

- SET = Defina

- WHERE = Aonde

 

update usuarios, set nome = "Carlos", idade = 18 where id = 7;

 

DELETE - Apaga registro da tabela

 

DELETE FROM tabela WHERE campo = valor

 

- DELETE - Apaga

- FROM - de/do/da

- WHERE - Aonde

 

delete from usuarios where id = 7;

 

[brinde] Sistema de cadastro para Livraria

 

Esse Modulo nao tera exercicios ,mas terá de brinde um sistema (simples) de Cadastro de livros para livraria

com esse sistema você conseguira entender melhor como funciona o php junto com mysql e como fazer um sistema

de cadastro completo e relacionando as tabelas de um modo simples

só explicando quando você ver na tabela escrito fk representa (foreign key) ou chave estrangeira

que é o id de uma tabela sendo representado em outra tabela fazendo um relacionamento.

 

Dica:

 

use strip_tags serve pra tirar tags html evitando que pessoas cadastre tags html no seu banco

 

não abordei a fundo o Mysql, porque estamos pra lançar um curso online de Mysql

obrigado a todos e bons estudos.

 

 

 

Fim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Fabyo beleza?Este modulo superou minhas expectativas esta otimo! Obrigado por esse curso ele esta sendo de otima utilidade pra mim e creio que estaja sendo otimo pra toda comunidade PHP do Forum obrigado!Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

:clap: <---- Simplesmente! Esse módulo foi o que mais aprendi, o outros eu tive bastante dificuldade, ainda não caiu a fichinha... C tiver um exemplo de mural bem SIMples, coloca aqui pra gente. pode ser?Brigadão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

clap.gif <---- Simplesmente! Esse módulo foi o que mais aprendi, o outros eu tive bastante dificuldade, ainda não caiu a fichinha... C tiver um exemplo de mural bem SIMples, coloca aqui pra gente. pode ser?Brigadão!

voce poderia usar o conteudo desse curso para fazer um mural para a comunidade ne? :assobiando:hehe, seria bom para voce treinar o que esta aprendendo, e se precisar de ajuda da um gritoabracosps: parabens ao fabyo, ta bem legal mesmo o curso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse módulo ficou bem legal pois tinham vários exemplos para elucidar e assimilar a teoria.

 

Como disse o dougtog, este foi bem proveitoso nesse sentido. Acho que é um bom referencial para os demais módulos. Imagem Postada

 

Parabéns Fabyo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o download do arquivo lojinha, mas é um arquivo.rar! Imagem Postada Como eu abro isso no Phpeditor? Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao cara rar é do winrar procura no google que você encontra de cara

 

o winzip é só pra arquivos .zip o winrar descompacta qualquer tipo de arquivo compactado suporta todas as extensoes de compactação do mercado

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente esse curso ta 100000000to aprendendo pakas e tirando muitas dúvidas e víciosBrigadao mesmo bacana.. :clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

poatz que agonia....na melhor parte do curso não consigo continuar por que meu servidor não conecta ao mysql....shitmas o cruso tá muito legal...parabens

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver o problema....

 

tive que reinstalar o apache, o mysql, o php..etc...tudo seguindo um tutorial

 

pra quem é leigo a coisa seria impossivel de se solucionar, mas como imaginei, era coisa simples

 

TUTORIAL

 

pra quem estiver com dificuldades

 

valeu pela ajuda de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

então...detalhezinho....rodei o script do banco de dados.....mas precisei tirar algumas coisas, pois estava dando sintax error, provavelmente por causa da versão do mysql que instalei aqui4.02as linhas que tirei foram todas referentes ao tipo de codificação, e o "engine" e suas propriedades, exceto autoincrement = 1ae o script rodou belezamas quando entro no arquivo autores.php por exemplo ele retorna esse erroWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\root\sites\loja\autores.php on line 26eu jah tinha tentado usar o mysql_fetch_array() um pouco antes tb e retornou o mesmo erro...pensei ser problema no meu script, mas acho que é na configuração mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Fabyo. beleza. Estou em duvida qto a relacionamentos de tabelas. Eu baixei a livraria q você fez para ver como se da os relacionamentos mas notei q nao usou InnoDB.Teria como voce fazer um passo a passo para criar duas tabelas em relacionamento de um para muitos ? ou muitos para muitos usando InnoDB .Abraçose parabens pelo curso. Jeison

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei eu to com um problema quanto a conectar o MYSQL no meu localhost...

Fatal error: Call to undefined function mysql_connect() in c:Inetpubwwwrootteste2.php on line 40

eu to usando o IIS V5.1 do "RUIM XP".Eu testei o mesmo script no meu host de hospedagem que usa o "RUIM 2003 +serve" e o IIS V6 e nele deu certoe eu uso o mesmo MySQL do meu host, sera q ta faltando DRIVER ou algo +, por favor alguem me dé uma LUZ![]'s :yay:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei eu to com um problema quanto a conectar o MYSQL no meu localhost...

 

 

Fatal error: Call to undefined function mysql_connect() in c:Inetpubwwwrootteste2.php on line 40

eu to usando o IIS V5.1 do "RUIM XP".

 

 

 

 

Imagem Postada O conselho que te dou é que você instale o Apache no seu "XP". Uso o XP, Apache e Mysql e nunca tive esse tipo de problema, só encontrei algo semelhante justamente quando tentei rodar meu PHP com IIS, aí deu pow!

Se você quiser posso te enviar o meu php.ini e você altera para as suas configurações.

É só postar aqui que está afim e deixar um email de contato e eu te envio.

valeu! :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

é eu não sabia nada de PHP, ai um belo dia precisei da ajuda pra ASP e o Adailton aqui do PHP me ajudou no ASP, mas ele manjava mais de PHP, ai ele foi me ensinando de poquinho em poquinhu... ai complementei algumas coisa.. e fiz uma sistemainha de cadasro de PHp com conexao Mysql... fiko da hora hehehe... um abração a todos e agradeço ao Adailton pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não estou conseguindo "colar" a resposta da query.

 

 

PHP

[*]<?php

[*]mysql_connect("localhost", "root");

[*]$link = mysql_connect("localhost", "root");

[*]if (!$link) { 

[*]die('Erro: ' . mysql_error()); 

[*]} 

[*]echo 'Conexao ok'; 

[*]mysql_select_db('teste');

[*]

[*]$re = mysql_query("select count(*) as total from nome");

[*]

[*]$total = mysql_result($re, 0, "total");

[*]?>

 

alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém poderia me dar uma luz ?Baixei o programa Livraria. Mas não funciona !Tentei corrigir mas não consegui, possivelmente problema de versão.Tenho instalado o WAMP5a linha:

[echo  " <a href=\"del_autor.php?id=$id\">Apagar</a>] [<a href=\"editar_autor.php?id=$id\">Editar</a>] - $autores \n<br>";
Gera essa saída:

Apagar] [Editar] - $autores \n"; } ?>

Se possivel, como seria o mesmo efeito mas com botões no lugar de texto linkado ?Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns Fabyo pelo curso de php foi uma idéia genial!Sou novo no fórum e em php, mas com esse curso tô conseguindo me virar, valeu!Como faço pra conseguir baixar o sistema de cadastro com mysql desse módulo? O link tá quebrado.Obrigado pela ajudaAlex

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.