Fabyo 66 Denunciar post Postado Março 28, 2005 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 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
elyezermr 0 Denunciar post Postado Março 28, 2005 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
dougtog 0 Denunciar post Postado Março 28, 2005 :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
red neck * 0 Denunciar post Postado Março 29, 2005 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
fsphp 0 Denunciar post Postado Março 30, 2005 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. Parabéns Fabyo. Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Abril 1, 2005 Fiz o download do arquivo lojinha, mas é um arquivo.rar! Como eu abro isso no Phpeditor? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 1, 2005 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
elizeu 0 Denunciar post Postado Abril 1, 2005 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
Chan 0 Denunciar post Postado Abril 1, 2005 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
Chan 0 Denunciar post Postado Abril 2, 2005 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
Chan 0 Denunciar post Postado Abril 2, 2005 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
sanchesjs 0 Denunciar post Postado Abril 22, 2005 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
thiagocodu 0 Denunciar post Postado Abril 29, 2005 Este módulo está realmente muito bom, tirei muitas dúvidas! Vcs estão de parabéns!!!!! :clap: valeu! :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
tiagolo 0 Denunciar post Postado Maio 7, 2005 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 40eu 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
thiagocodu 0 Denunciar post Postado Maio 7, 2005 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 40eu to usando o IIS V5.1 do "RUIM XP". 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
vinicius015 0 Denunciar post Postado Maio 29, 2005 é 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
ruhland 0 Denunciar post Postado Julho 12, 2005 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
Junior_ 0 Denunciar post Postado Dezembro 2, 2005 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
Fabyo 66 Denunciar post Postado Dezembro 2, 2005 se ta exibindo assim parece que o php nao esta sendo interpretado, dai mostra só o html Compartilhar este post Link para o post Compartilhar em outros sites
abgomes 0 Denunciar post Postado Março 20, 2006 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