
{"id":317,"date":"2018-01-12T14:58:23","date_gmt":"2018-01-12T16:58:23","guid":{"rendered":"http:\/\/eliezerladeira.com.br\/blog\/?p=317"},"modified":"2018-08-30T17:52:49","modified_gmt":"2018-08-30T20:52:49","slug":"manipulacao-de-dados-via-php-firebird","status":"publish","type":"post","link":"https:\/\/eliezerladeira.com.br\/blog\/manipulacao-de-dados-via-php-firebird\/","title":{"rendered":"Manipula\u00e7\u00e3o de dados via PHP + Firebird"},"content":{"rendered":"<p>[ratings]<\/p>\n<p>O PHP\u00a0\u00e9 uma linguagem com suporte nativo a diversos bancos de dados. Como estamos trabalhando com InterBase\/Firebird, segue um exemplo pr\u00e1tico de como a coisa funciona. Este exemplo foi testado com um servidor Windows 2000 e Firebird 1.0.<\/p>\n<p>A princ\u00edpio\u00a0voc\u00ea ter\u00e1 que ter instalado em seu computador o servidor Apache + PHP. Onde encontrar: V\u00e1 no site <a href=\"http:\/\/www.easyphp.org\" target=\"_blank\">www.easyphp.org<\/a>\u00a0na se\u00e7\u00e3o de downloads e baixe a vers\u00e3o 1.6. Este aplicativo ir\u00e1 instalar em seu Windows o servidor Apache + PHP + MySQL.<\/p>\n<div class=\"article\">\n<p>Existe outro software que se chama PHPTRIAD que faz exatamente a mesma coisa que o EASYPHP mas nos testes que eu realizei, o comando Select do SQL n\u00e3o estava funcionando (erro de estouro de mem\u00f3ria). Com o EASYPHP est\u00e1 funcionando perfeitamente.<\/p>\n<p>Antes de carregar o servidor, pegue o arquivo php-safe.ini que est\u00e1 no diret\u00f3rio ..\/easyphp\/safe e copie para o diret\u00f3rio ..\/easyphp\/apache. Renomeie este arquivo para php.ini. Abra o arquivo e procure a seguinte linha: extension=php_interbase.dll. Remova o &#8220;;&#8221; (ponto e v\u00edrgula) da frente desse comando. Isso far\u00e1 como que o PHP reconhe\u00e7a os comandos do InterBase. Salve o arquivo e feche-o.<\/p>\n<p>Agora chame o arquivo via menu de nome: easyphp. Note que ficar\u00e1 um &#8220;E&#8221; na sua barra de tarefas, perto do rel\u00f3gio.<\/p>\n<p>Crie um banco de dados no InterBase\/Firebird com as seguintes caracter\u00edsticas:<\/p>\n<p><strong>Listagem 1:<\/strong> Tabela Cadastro<\/p>\n<div>\n<div id=\"highlighter_710712\" class=\"syntaxhighlighter js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js plain\">CREATE TABLE CADASTRO (<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js plain\">CODIGO VARCHAR(10) NOT NULL,<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"js plain\">DESCRICAO VARCHAR(50)<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js plain\">);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"spacesyntax\">Crie um arquivo texto e coloque as seguintes instru\u00e7\u00f5es dentro dele:<\/div>\n<div class=\"spacesyntax\"><\/div>\n<p><strong>Listagem 2:<\/strong> Instru\u00e7\u00e3o do arquivo de texto<\/p>\n<div>\n<div id=\"highlighter_782962\" class=\"syntaxhighlighter js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js plain\">&lt;?<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js plain\">$conexao = ibase_connect(<\/code><code class=\"js string\">\"127.0.0.1:c:\/tuto\/tutorial.gdb\"<\/code><code class=\"js plain\">,<\/code><code class=\"js string\">\"SYSDBA\"<\/code><code class=\"js plain\">,<\/code><code class=\"js string\">\"masterkey\"<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"js plain\">$sql = <\/code><code class=\"js string\">\"insert into cadastro (codigo,descricao) values (\"<\/code><code class=\"js plain\">001<\/code><code class=\"js string\">\",\"<\/code><code class=\"js plain\">interbase<\/code><code class=\"js string\">\")\"<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js plain\">$resultado = ibase_query($conexao, $sql);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"js plain\">ibase_close($conexao);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"js plain\">?&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"spacesyntax\">Salve como o nome de teste.php no diret\u00f3rio ..\/easyphp\/www.<\/div>\n<div class=\"spacesyntax\">Obs: Tem que ser no diret\u00f3rio www.<\/div>\n<p>Basicamente (muito basicamente) s\u00e3o 3 comandos que voc\u00ea ir\u00e1 usar. Abaixo os coment\u00e1rios:<\/p>\n<p><strong>1. $conexao = ibase_connect(&#8220;127.0.0.1:c:\/tuto\/tutorial.gdb&#8221;,&#8221;SYSDBA&#8221;,&#8221;masterkey&#8221;);<\/strong><\/p>\n<p><strong>ibase_connect:<\/strong> Este comando ir\u00e1 fazer a sua conex\u00e3o com a base de dados. Estamos utilizando 3 par\u00e2metros onde:<\/p>\n<p><strong>127.0.0.1:c:\/base\/tutorial.gdb:<\/strong> \u00e9 o IP mais o caminho para a sua base de dados; (no PHP a barra de diret\u00f3rios \u00e9 para a esquerda &#8220;\/&#8221;)<\/p>\n<p><strong>SYSDBA:<\/strong> \u00e9 seu login e <strong>masterkey:<\/strong> a sua senha.<\/p>\n<p>Para quem nunca viu PHP, as vari\u00e1veis s\u00e3o precedidas por um sinal de <strong>$<\/strong>.<\/p>\n<p><strong>1.1 $sql = &#8220;insert into cadastro (codigo, descricao) values (&#8220;001&#8221;, &#8220;interbase&#8221;)&#8221;;<\/strong><\/p>\n<p>Aqui\u00a0apenas criei uma vari\u00e1vel de nome $sql e adicionei a instru\u00e7\u00e3o sql.<\/p>\n<p><strong>2. $resultado = ibase_query($conexao, $sql);<\/strong><\/p>\n<p>ibase_query executa a instru\u00e7\u00e3o onde $conexao \u00e9 o banco de dados j\u00e1 definido acima e $sql \u00e9 a instru\u00e7\u00e3o SQL.<\/p>\n<p>$resultado \u00e9 uma vari\u00e1vel que ter\u00e1 como valor True ou False, dependendo se a instru\u00e7\u00e3o foi executada com \u00eaxito ou n\u00e3o.<\/p>\n<p><strong>3. ibase_close($conexao);<\/strong><\/p>\n<p>Fecha a conex\u00e3o com o banco.<\/p>\n<p>Agora v\u00e1 no seu browse e digite: localhost\/teste.php. Espero que tenha inclu\u00eddo um novo registro em sua base de dados.<\/p>\n<p>Clique <a href=\"http:\/\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2017\/04\/fb_php.zip\">aqui<\/a>\u00a0para baixar os arquivos utilizados neste exemplo e mais exemplo de como apagar e listar os dados.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>[ratings] O PHP\u00a0\u00e9 uma linguagem com suporte nativo a diversos bancos de dados. Como estamos trabalhando com InterBase\/Firebird, segue um<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[15],"tags":[83,51],"class_list":["post-317","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-banco-de-dados","tag-programacao"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":312,"url":"https:\/\/eliezerladeira.com.br\/blog\/iniciando-com-php-e-interbase\/","url_meta":{"origin":317,"position":0},"title":"Iniciando com PHP e InterBase","author":"admin","date":"","format":false,"excerpt":"[ratings] O InterBase existe desde meados de 1980. Depois de v\u00e1rios anos na estrada, ele se tornou Open Source pela Borland em Julho de 2000. A vers\u00e3o que vou utilizar \u00e9 a 6.01 (= 6.0 + patch de seguran\u00e7a). Ela roda no Linux, v\u00e1rios derivados de Unix e no Windows.\u2026","rel":"","context":"Em &quot;Inform\u00e1tica&quot;","block_context":{"text":"Inform\u00e1tica","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/informatica\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3539,"url":"https:\/\/eliezerladeira.com.br\/blog\/monte-um-servidor-de-e-mail-com-agenda-e-imap\/","url_meta":{"origin":317,"position":1},"title":"Monte um servidor de e-mail com agenda e\u00a0IMAP","author":"admin","date":"","format":false,"excerpt":"Use o 602Lan Suite para criar um servidor local para trabalho colaborativo.","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3542,"url":"https:\/\/eliezerladeira.com.br\/blog\/controle-de-prazos-com-o-processmaker-2\/","url_meta":{"origin":317,"position":2},"title":"Controle de prazos com o\u00a0ProcessMaker","author":"admin","date":"","format":false,"excerpt":"Use o sistema de fluxo de trabalho gratuito ProcessMaker para manter equipes azeitadas e as tarefas sempre em dia.","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2877,"url":"https:\/\/eliezerladeira.com.br\/blog\/use-o-wordpress-para-implantar-um-blog-em-seu-site-na-web-2\/","url_meta":{"origin":317,"position":3},"title":"Use o WordPress para implantar um blog em seu site na web","author":"admin","date":"","format":false,"excerpt":"Que tal acrescentar um blog ao seu site ou ao da sua empresa? O blog pode ser um canal eficiente e din\u00e2mico para divulgar not\u00edcias e interagir com as pessoas \u2014 amigos, parceiros ou clientes. Uma equipe de desenvolvimento de software, por exemplo, pode publicar nele dados sobre atualiza\u00e7\u00f5es, vers\u00f5es\u2026","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":286,"url":"https:\/\/eliezerladeira.com.br\/blog\/use-o-wordpress-para-implantar-um-blog-em-seu-site-na-web\/","url_meta":{"origin":317,"position":4},"title":"Use o WordPress para implantar um blog em seu site na web","author":"admin","date":"","format":false,"excerpt":"[ratings] Que\u00a0tal acrescentar um blog ao seu site ou ao da sua empresa? O blog pode ser um canal eficiente e din\u00e2mico para divulgar not\u00edcias e interagir com as pessoas \u2014 amigos, parceiros ou clientes. Uma equipe de desenvolvimento de software, por exemplo, pode publicar nele dados sobre atualiza\u00e7\u00f5es, vers\u00f5es\u2026","rel":"","context":"Em &quot;Inform\u00e1tica&quot;","block_context":{"text":"Inform\u00e1tica","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/informatica\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2017\/04\/wordpress.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2783,"url":"https:\/\/eliezerladeira.com.br\/blog\/como-criar-um-widget\/","url_meta":{"origin":317,"position":5},"title":"Como criar um\u00a0widget","author":"admin","date":"","format":false,"excerpt":"Produza seu pr\u00f3prio widget\u00a0e exporte seu feed RSS para outros sites e blogs. Os widgets\u00a0est\u00e3o no auge de sua popularidade. Com eles \u00e9 poss\u00edvel adicionar not\u00edcias, miniaplicativos, joguinhos e outros trecos digitais a qualquer blog ou site pessoal. Parece complicado de fazer, mas, em termos de programa\u00e7\u00e3o, um widget \u00e9\u2026","rel":"","context":"Em &quot;Programa\u00e7\u00e3o&quot;","block_context":{"text":"Programa\u00e7\u00e3o","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/programacao\/"},"img":{"alt_text":"266_widget2","src":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2009\/01\/266_widget2.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/comments?post=317"}],"version-history":[{"count":1,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/317\/revisions"}],"predecessor-version":[{"id":319,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/317\/revisions\/319"}],"wp:attachment":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/media?parent=317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/categories?post=317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/tags?post=317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}