As operações de interação com banco de dados são com certeza a alma de qualquer sistema, seja ele web ou desktop. Pensando em deixar as tarefas de leitura/gravação de dados mais simples, resolvi criar um método próprio de interagir com os bancos de dados em sistemas web, utilizando toda flexibilidade da orientação a objetos com a praticidade do PHP.
O resultado é simplesmente incrível, pois o sistema ficou simples de entender e fácil de usar, além é claro de permitir a expansão e melhoria do mesmo conforme sua necessidade.
Este formatdo de CRUD será usado em nosso curso sobre o portfólio dinâmico, portanto quem está acompanhando as aulas, pode começar a estudar para chegar na hora da programação com tudo na ponta da língua.
Nesta primeira aula iremos criar os métodos de conexão com o banco de dados MySQL e também tratamento dos erros gerados quando necessário. Acompanhe a aula com muita atenção, pratique tudo que for ensinado e bom estudo à todos.
Depois de assistir, deixe um comentário com sua opinião sobre a primeira aula, aguardamos sua participação.
Este post faz parte de uma série, confira tudo que já foi publicado sobre o mesmo assunto.
Sou técnico em hardware e desenvolvedor web, e sobre estes dois assuntos comecei a compartilhar aulas e artigos, tornando-me blogueiro em 2008. Em 2010 esse hobby virou profissão, e desde então tenho buscado melhorar e profissionalizar cada vez mais os projetos que mantenho na web.
Atualmente temos 66 comentários para este post. Participe você também, clique aqui e comente sobre o assunto.
Ola ótima vídeo aula parabéns muito boa didática bem ensinado gostaria de saber mais como comprar créditos do curso
Obrigado Arturo Bernardo 63 anos Rio de Janeiro
Esse curso está disponível gratuitamente para assistir online, caso queira baixar os arquivos para ver quando e onde desejar poderá fazê-lo através de créditos do site, mais informações nessa página: http://rbtech.info/assinatura/como-funciona/
ResponderOlá Ricardo, eu estou refazendo o crud novamente, estou com uns erros devido a versão do php, pois o mysql_connect foi descontinuado na versão antiga. Eu gostaria que se fosse bom para você e para o blog, você pudesse refazer as vídeo-aulas novamente numa versão mais nova. Até ja vi várias pessoas comentando isso por aqui, que seria legal .... Abraços
ResponderBoa noite ricardo,
Antes de qualquer coisa, gostaria de agradecer. Suas aulas ajuda muito... Tudo funcionou de primeira. Tive uma dúvida quando foi testar a classe "banco.class.php". Quando criou o objeto, não precisou chamar a função e ela lhe mostrou a msg, Pq?
Responderolá ricardo, muito bom vc ajudar a gente nessas questões.
de início deu alguns erros aqui, mas fui revisando o código junto com o vídeo e consegui receber a msg: metodo conecta foi chamado. (fiquei feliz :DD)
mas aí coloquei a senha errada pra ver se aparecia a descrição do erro como se deu no seu, mas não dá. aqui retorna:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'site13837655684'@'186.202.153.4' (using password: YES) in /home/storage/e/98/6a/site1383765568/public_html/painel/classes/banco.class.php on line 30
resultado
e na minha linha 30 tem isso:
$this->conexao = mysql_connect($this->servidor,$this->usuario,$this->senha,TRUE)
***********
será que no seu apareceu a descrição daquele jeito pq seu servidor era local ou isso não tem nada a ver?
se puder responder esta msg (mesmo depois de todo esse tempo que o vídeo foi gravado), eu fico muuuito grata.
obrigada.
ResponderPor algum motivo o tratamento do erro não funcionou, mas não sei dizer porque.
ResponderMuito bom!
e o meu muito obrigado pela lição nº 1.
MF
Respondermuito boa sua aulas Ricardo, me ajudou bastante, gostaria de saber se tem possibilidade de vc fazer esse crud usando pdo, já que o o mysql_query está descontinuado nas novas versões do php.
grato
A ideia das aulas era dar a lógica para que iniciantes em OO pudessem saber o caminho a ser seguido, agora fica a critério de cada um adaptar/alterar o sistema conforme necessidade.
ResponderOlá Ricardo, Assisti as 5 aulas desse curso, muito bem bolado esse sistema de crud, agora volto aplicando e tudo ocorreu corretamente.
Muito bom mesmo.
Olá amigo, gostei muito de suas aulas, parabéns, tenho uma dúvida, como faria para inserir vários dados em uma mesma linha do banco de dados, pois o método inserir(), não funciona para isso. Agradeço desde já.
ResponderEu mostrei o básico para que todos pudessem ter um idéia de como funciona, agora cabe a cada um melhorar as funções conforme a necessidade.
ResponderEstou usando essas suas aulas para criar um sistema mas estou encontrando algumas dificuldades em relação a atualização:
em cadastro de clientes tem alguns campos que pretendo não alterar como a data de cadastro mas como não envio esse valor então quando grava os dados o campo fica como null já que foi declarado na classe cliente.
Tentei reaproveitar sua ideia para criar uma outra function atualizarCampos sendo que só atualiza os campos que eu determine.
ResponderBasta remover os campos que não serão atualizados, já fizemos função para isso e incluse tem exemplos de uso durante o curso.
Respondernão consegui fazer a conexão usando o mysqli. tem como me da uma força ai ?
ResponderOlá , gostei bastante , no meu deu tudo certinho.
ResponderOlá tudo bem?
Só deixando uma ideia. Já que é CRUD com PHP + OOP, poderia utilizar PDO que seria até mais interessante e de fácil adaptação para outros bancos de dados...
Até mais e parabéns pelas vídeos aulas
ResponderOlá, fiz tudo certo, legal, muito bom seu crud generico
mas tenho um problema aqui, fiz um controle de estoque, e achei que ficou lento, pois minha net é de 15 megas.
Mas Valeu mesmo pela dica e seu site estar muito bonito
Não consigo fazer aparecer "o metodo conecta foi chamado" na tela. Já fiz e refiz, mas não tem jeito :/
ResponderSe o seu resultado não é o mesmo, é porque algo está diferente em sua codificação
Respondercomo ficaria a parte do select para pdo com postgre? Teria como fazer?
Obrigado!
O procedimento foi exemplificado para PHP e MySQL, caso queira adaptar para outro banco sinta-se a vontade para desenvolver conforme sua necessidade.
ResponderQuanto cobraria para fazer com pdo e postregre?
ResponderEu não trabalho com postgree
ResponderSugiro aos que estão com erros que dêem uma lida neste artigo e tentem encontrar a solução: http://dev.rbtech.info/entendendo-e-interpretando-erros-em-scripts-php/
ResponderRevisei várias veses o cógio e:
Warning: require_once(classes/teste.class.php) [function.require-once]: failed to open stream: No such file or directory in C:xampphtdocscrudgenericoclassesteste.php on line 2
Fatal error: require_once() [function.require]: Failed opening required 'classes/teste.class.php' (include_path='.;C:xamppphpPEAR') in C:xampphtdocscrudgenericoclassesteste.php on line 2
ResponderO meu código está dado o seguinte erro:
( ! ) Fatal error: Call to undefined method teste::trataerro() in C:\wamp\www\crudgenerico\classes\banco.class.php on line 24
Call Stack
# Time Memory Function Location
1 0.0007 363520 {main}( ) ..\teste.php:0
2 0.0024 387240 banco->__construct( ) ..\teste.php:3
3 0.0024 387240 banco->conecta( ) ..\banco.class.php:14
O que pode ser?
já revisei varioas vezes meu código e não encontrei o erro.
Grato desde já.
Ola amigo gostei muito de suas aulas, mas quando fui fazer nao consegui obter algum resultado. ficou com a pagina em branco..
ResponderBom dia, Ricardo!
Eu gostaria de parabenizá-lo pelo profissionalismo do seu site e pela excelente didática das vídeo-aulas.
Com apenas quatro linhas de código você resolveu um problemão que me demandou bastante tempo procurando ajuda e que parecia sem solução: a acentuação do que era puxado do banco de dados. Muito obrigado!
Um abraço.
Olá Ricardo,
Acredito que meu código ficou igual o seu, entretanto não aparece nada no navegador, nem erro, sabe tem alguma ideia do que pode ser?
Responderoi por favor teste o script não sei aonde esta o erro, não imprime o echo "oi"; da conexão.
Responderola amigo gostei muito desse blog mais estou com duvida como crio uma tabela com id nome e sobrenome
ResponderAgradecendo mais uma vez pelas excelentes vídeo aulas e já antecipando as desculpas por estar fazendo mais um post. Acredito que entre ontem e hoje já postei uns 5 comentários.
Ricardo... eu assisti e pratiquei todas as vídeo aulas do php orientado a objetos, entendi legal. De la, passei pro DAO VO e tomei um susto, ali sim ficou pesado pra mim. Então resolvi te deixar uma opinião aqui. Tente redirecionar o pessoal que sai do php oop para este crud, pois a impressão que dá (pela organização dos posts) é que a próxima aula a ser vista depois do php oop seria o DAO VO, mas acredito que este post aqui seja a continuação.
O DAO VO, ainda não é pra mim não... fritou meu cerebro hehehe.
ResponderDAO e VO é um padrão bem interessante de se usar, já o CRUD é um sistema com lógica própria que eu mesmo criei e fiz algumas adaptações, logo ele não segue um padrão de mercado, mas sim uma forma simples de fazer as operações.
ResponderOla amigo estou com um problema e não sei aonde esta o erro da uma verificada em meu código que d ao seguinte erro em localhost...
( ! ) Warning: require_once(crudgenerico/banco.class.php) [function.require-once]: failed to open stream: No such file or directory in C:wampwwwPainel Adm Jcclassesteste.php on line 2
ResponderNunca se trabalha com sistemas web utilizando nomes de pastas ou arquivos com espaços, Ç ou acentuação.
ResponderRicardo,
Eu fiz a primeira aula corretamente (acredito eu).
onde você diz para colocar um:
código fonte posts fora das regras
Minha página não da erro. Mas não aparece o código fonte posts fora das regras
O que aconteceu?
Boa noite Ricardo, parabéns pelo projeto o código de conexão funciona no Dreamweaver ?
ResponderO sistema foi criado independente de plataforma de desenvolvimento.
ResponderRicardo, você é bom, parabéns pela iniciativa, tudo no seu site é de muita qualidade...
ResponderOlá gostaria de saber se com o curso do site RBTECH " PHP Básico e PHP + MYSQL Básico " , adiquiro conhecimento suficiente para iniciar um curso de OOP...
ResponderBasicamente sim, mas é indispensável uma boa lógica de programação também.
ResponderMais uma excelente video aula!
Muito obrigado Ricardo! Agora vou partindo pra segunda aula dessa série, isso sem dúvida irá me ajudar muito!
Parabéns, continue assim!
ResponderFatal error: Cannot redeclare banco::conecta() in C:xampphtdocscroodclassesbanco.class.php on line 27 qual o erro
ResponderQuero te dar os parabéns pela aula. O material é muito bom, de fácil entendimento e bem explicado. A voz ajuda também, ficou bem gravada, demonstrando um nível profissional.
Aqui funcionou 100% e ao invés de usar servidor e banco de dados local, estou usando os do meu site, desta forma aprendo ainda mais. Vou acompanhar as outras aulas.
Parabéns, abraço.
ResponderOlá, como eu resolvo este problema
Parse error: syntax error, unexpected '}', expecting ',' or ';' in D:\EasyPHP-12.0\www\crudgenerico\classes\banco.class.php on line 27
o código é este:
código fonte excluído pois não foi postado conforme as regras
ResponderOlá Ricardo adorei esta aula. Pow cara não sei oque esta havendo, pois executo o arquivo teste.php e nada acontece, nem mesmo um querido erro. o que você acho que está havendo. Abraço.
ResponderRicardo com com um problema esse =
------------------
Warning : Unknown: failed to open stream: Arquivo ou diretório em Unknown on-line 0
Fatal error : Unknown: Failed abertura necessária 'C :/ EasyPHP-5.3.9/www/Crud Gena © rico / banco.class.php' (include_path = ';. C: \ php \ pear') in Unknown on-line 0
----------------
pode me ajudar!! Agradeço.
Poxa, revisei umas 3x o código inteiro, e continuo recebendo o seguinte erro:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\crud\classes\banco.class.php on line 24
na linha 24 esta assim:
$this->conexao = mysql_connect($this->servidor,$this->usuario,$this->senha,TRUE)
Tem a possibilidade de disponibilizar o código?
Parabéns pelo material, não aguentava mais "somar variável pelos fóruns... :)
Consegui, dei uma descansada revisei o codigo pela 4x..
O erro era algo mais simples do que pensado, esqueci de arrumar o "erro" simulado. a senha estava incorreta.
Mais uma vez obrigado pelo material.
ResponderParabéns pelas aulas.
ResponderOlá Ricardo suas aulas são ótimas estou fazendo tudo igualzinho, só que apareçe o seguinte erro -> Call to undefined method teste::conecta() in C:\EasyPHP-5.3.9\www\Aula\crudgenerico\classes\banco.class.php on line 14
Você pode me ajudar ?
também tenho este mesmo erro.. não consegui achar onde está o problema :(
Respondermuito obrigado Ricardo com suas vídeo aulas eu construí u meu site que gera quase 10 mil por mês
ResponderOla ricardo no meu passa a passo creio que copiei tudo cer porem quando testo a pagina "teste" ocorre que dando erro ou não o código é executado 2 vezes
pois quando coloco um erro proposital a mensagem de erro aparece duas vezes e quando corrijo o erro a mensagem "Metodo conecta foi chamado" aparece duas vezes também caso queira ver a pagina este é o link
http://177.19.162.52/~redelink/exercicios/teste.php
Verifique todo seu procedimento, deve haver alguma inconsistência em sua codificação.
ResponderObrigado ricardo eu realmente tinha uma incosistencia no meu código acontece que isso:
public function __destruct(){
if($this->conecxao != NULL):
mysql_close($this->conecxao);
endif;
}//Fim do destruct
estava assim
public function __destruct(){
if($this->conecta(); != NULL):
mysql_close($this->conecxao);
endif;
}//Fim do destruct
por causa do autocompletar do dreamweaver e da minha falta de atenção
ResponderNessa primeira aula, fiz passo a passo aqui, mas deu o seguinte erro na conexao
Parse error: syntax error, unexpected T_ENDIF in C:\wamp\www\oop\classes\banco.class.php on line 19
no "endif" da public function __destruct
aparece erro..
alguem pode ajudar?
ResponderVerifique sua codificação, você tem algum erro de digitação em algum lugar.
ResponderBoa Tarde Ricardo,
parabéns! excelente aula!
quantas aulas serão desse assunto?
obrigado
Obrigado Andrew, serão 5 aulas ao todo.
ResponderBom dia Ricardo.
Quero dar os parabéns pelo excelente trabalho que você vem realizando.
Seu trabalho ajuda muito.
Obrigado.
Vlw ricardo Me ajudou Muito Meu.... Continue assim '
ResponderBom dia Ricardo, qual o nome mesmmo deste programa que vc esta usando?
ResponderÉ o Codelobster, você encontra ele neste post: http://rbtech.info/codelobster-um-otimo-editor-para-php/
Responder© 2008-2023 - RBTech.info | Todos os direitos reservados | Hospedado por Innova Host
É proibida a reprodução total ou parcial de qualquer conteúdo deste site.
Olá Ricardo, gostaria de saber como transformar esse arquivo banco.class.php em uma conexão mysqli; estou usando o PHP 7.2
Grato!