Vous êtes sur la page 1sur 29

Rafael Clares

Home

Downloads

Galeria de Fotos

PHP

XML

Contato

jul/2008
Pesquisarnosite...

HomePHPPostgreSqlPHP+PostgreSqlConexocom

Buscar

bancodedados

PHP + PostgreSql Conexo com


banco de dados

Doe uma cerveja


para o Clares!

TenhovistomuitoopessoalprocurarartigosetutoriaissobrePHP
epercebiqueabuscaporbancodedadosaindapouca.Pensei
emmostraraquicomoseconectarumbancodedadosSQL,
afinaldecontasoPHPapenasparaclculosecomandosde
servidornotoooodivertidoemboraeuachefascinante!
VeremoscomoseconectaraoPostgreSqlqueoqueeuutilizo
comoSGBD(sistemagerenciadordebancodedados),opessoal
temutilizadomuitooMySqlquetambmexcelente,gostomais
doPostgreSqldevidoaospadresmantidosestaremmais
prximosdoSQL.(Seaindanoteminstaladobaixeem
PostgreSql).
Bem,opostgrecomomuitos(outodos)osSGBDsdevem
recebercomoparmetrososdadosdeconexo,taiscomo,
usurio,senha,host,port,base.
NoPHPocomandoutilizadoparaconectarseaoPostgreSqlo
pg_connect(parmetros),entonadamelhordoque
comearmoseiremosfazerissocomumaclasse(Classesc/
PHP5)!
Oarquivoconexao.class.php(o.classapenaspara

Qu? descriocargoaux
Onde?
BUSCAR

identificarmosoarquivocomoumaclasse).

PHPStaff
Curtir

<?
ClassConexao

1.263pessoascurtiramPHPStaff.

{
protected$host=localhost
protected$user=postgres
protected$pswd=postgres
protected$dbname=teste
protected$con=null
function__construct(){}//mtodoconstrutor
#mtodoqueiniciaconexao
functionopen(){
$this>con=@pg_connect(host=$this>hostuser=$this>user

Fique Ligado!
Recebaporemailasnovas
publicaes.

password=$this>pswddbname=$this>dbname)
return$this>con
}
#mtodoqueencerraaconexao

Juntesea40outros
assinantes
Assinar

functionclose(){
@pg_close($this>con)
}
#mtodoverificastatusdaconexao
functionstatusCon(){
if(!$this>con){

POSTS

POSTS

Galeriade
FotosPHP+
MySQL+
UploadMltiplo

echo<h3>Osistemanoestconectado[$this>dbname]em

377

[$this>host].</h3>

Comentrios

exit
}
else{
echo<h3>Osistemaestconectado[$this>dbname]em
[$this>host].</h3>

Galeriade
FotosPHP
333
Comentrios

Galeriade

fotosLightbox

+Uploadde
fotos+

?>
Setosvaloresdasvariveishost,user,pswdedbname

275
Comentrios

Email
Autenticado

host=geralmentelocalhostouseuip

comPHP5

user=usurioquecriouaoinstalaropostgre

Classe

pwsd=senhadousuriodopostgre

PHPMailerOl,

dbname=abasequedesejaseconectarnopostgre

galera
140
Comentrios

Comoeuhaviaditopg_connect()omtodoPHPqueconectase
aoPostgreSql,o@antesdomtodoserveparainibir/ocultaras

LerXMLcom

mensagensdeerrodomtodocasoocorramduranteatentativa

PHPVeremos

deconexao.Vocpoderetiralaetestalainformandoalgumvalor

comolerum

incorretonasvariveisdeconexo.Geralmenteocultamosessas

arquivo

mensagensparaqueumvisitanteaoacessarseusistemano

128

vejaosparmetrosutilizadosounomesdevriaveisquevoc

Comentrios

utilizanaconexo,emoutraspalavras,ocultamosasmensagens
porsegurana.Existemoutrasformasdetrataroserroseas
mensagenscomsegurana,masissonoserabordadoaqui.Ao
menosnessepost,no!

Tpicos
Acessibilidade

Osvalorescontidoscomoparmetrosempg_connect()soos

Ajax

valoresdasvariveissetadasnoiniciodaclasse.Seria

CSS

interessantecriarmtodosparasetarosvaloresdevariveisde
conexaoapenassevocprecisasseutilizarmaisdeumbanco

GaleriadeFotos

(nobase,banco)nasuaaplicao,paraevitarcriar2classes

Javascript

diferentespoderiamosfazerummtododotiposetUserBanco(),

Jquery

setHostBanco(localhost2),entendeu?ok!

MSSQL

Mascomotrataseapenasde1conexo,seriamuitosmtodos
parapoucacoisa!

Mysql
PHP
PHPStaff

Omtodoopen()retornaoestadodaconexao(trueoufalse),com
issopodemosatravsdomtodostatusCon()saberseaconexao
estativaouno.

PostgreSql
Scriptsprontos
Webtools

Omtodoclose(),comovocimaginouencerraaconexao
chamandoomtodoPHPpg_close()
Crieagoraoarquivoindex.phpparatestarmosaconexao
<?
#incluindoaclasseconexao(supondoestarnomesmodiretorio)
include(conexao.class.php)
#instanciandooobjeto
$minhaConexao=newConexao()
#chamadaaometodoopenqueabraaconexao
$minhaConexao>open()

XML

#verificandoostatusdaconexao
$minhaConexao>statusCon()
#encerrandoaconexao
$minhaConexao>close()
#verificandoaconexaoaposclose()
$minhaConexao>statusCon()
?>
issopessoal,bemsimplesenumpostfuturoveremoscomo
gravar/editar/atualizar/excluirregistrosdeumatabelausandoo
PHPePostgreSql.
Deixeiumvdeotoscomostrando/explicandomelhorcomo
funcionaessaclasse.
Dumaolhadanovdeoaqui
Abraos,
RafaelClares
Compartilhar

Tweet

Share

Imprimir

Comments
ByGustavostork
bomobrigadooartigomeajudoucomalgumas
duvidasestagiocomodesenvolvedordesistema
dotribunaldejustiaeestoucomeando

desenvolvendoemphpeultilizandopostgresql
combancodaialgumasduvidasdeconexo
esperoquevocestejasempreatualizandook
valeu
on24desetembrode2008 Responder

ByCludiaLusaW.E.Ribeiro
BomdiaGratapelainformaoMuitotilpra
mim
Qualquerdvidapossoperguntardevoc?
Tenhaumbomdia
on4denovembrode2008 Responder

ByRafaelClares
Cludiafiquevontadeparaperguntar,noquefor
possvellheajudarei.Obrigadopelocomentrio.
atlogo,
on4denovembrode2008 Responder

Bysalsotto
Muitobom!
Meclareoubemascoisas!
D
parabens!
on25denovembrode2008 Responder

ByAlexandre
rafaael,
Primeiramentemuitobomseuartigo,parabens.
Estivelendoseuartigoref.aopostgree+PHPe
nomeiodainformaticacomtantosBDetanas
linguagensdeprogramao,gostariasepossvel,
umaopiniosuareferenteaousodoPHPcomo
bancoMysqlnoquesitos:
Obancosuportamuitosregistros?Quantos?Ou
vcachaqueexistembancosgratuitosquefazem
melhorqueoMysql?
AintegraodeECFs,impressorasmatriciaise
termicas,descomplicadaoutemalguma
linguagemmelhor?
erasomenteisso
Obrigadodesdej!

on19dedezembrode2008 Responder

ByRafaelClares
OlAlexandre,obrigadopelocomentrio.Carao
MySqleuachomuitobomsimuseiporalgum
tempoatconheceroPostgreSql,eu
particularmenteachooPostgremelhorde
trabalhareoprincipalmotivoporeucontinuar
utilizandoodevidoproximidadedopadro
SQL.Porexemploaformadetrabalharmais
parecidacomopadroeomySqlnomeuvertem
bemmaisparticularidadeseprefiroficarmais
proximodopadro.AcreditoqueoMySqlhoje
estejabemmelhordoquequandoeuutilizeie
depoisdaSuntelocompradomuitonome
rolaagoraemtornodoMySql.Detodaformaessa
minhaopniodeusurio,notenhodados
tcnicosquepossamdizerqualmelhor,eu
simplesmenteuseiumeuseioutroetireiminhas
conclusesat
on22dedezembrode2008 Responder

ByVinicius
OlRafael,timoartigo,muitoprtico.Fiz
exatamenteoquevoccolocounesteartigo.S
quenoestapresentandoasmensagens,nem
dexitoouproblemacomaconexo.Apgina
index.phpficaembranco.Sabeoquepodeser?
on10defevereirode2009 Responder

ByRafaelClares
Vinicius,verifiqueprimeiramenteastags
PHPpercebaquenocdigoestapenas
<?eno<?phpparafuncionarcoma
tagmenorprecisoqueesteja
descomentadaalinhashort_open_tagno
seuPHP.INI.
Oarquivoconexao.class.phpnessecaso,
estnomesmodiretrioqueoindex.php.
VerifiquetambmseseuPHP.INIest
habilitadoparaoPGSQL(Postgre),a
linhaextension=php_pgsql.dlldeveestar

descomentada.
Bem,comissovocjtemalgumas
coisasparaverificarcasonoconsiga
sperguntar
abraos
on11defevereirode2009 Responder

ByAxelAlexander
bomestoucomenandonophpegostariade
saberseparachamaraclasseconexoedo
mesmojeitodasincludes
on3deabrilde2009 Responder

ByRafaelClares
Axel,issomesmo!
deumincludeeinstancieaclasse.
atemais
on3deabrilde2009 Responder

ByAlexandre
Primeriamente,parabnspeloartigoMas
comigoaconteceuumerromuitoestranho:
Instaleiopostgre,crieousuario,consegui
conectarnormalmentepelopg_AdminIII,entofui
paraophp.inieasextensesdopgesto
devidamentedescomentadas,tambmrodeio
php_info()eeleretornou:PGLOCALEDIR
C:ProgramFilesPostgreSQL8.3sharelocale
ouseja,devidamenteinstalado.
Masaotestarasuaclasseescript,simplesmente
nodaerroalgum,apginaficaembrancoO
quepoderiaser?
on3deabrilde2009 Responder

ByRafaelClares
Alexandre,retireo@(arroba)dafrente
dachamadapg_connect(),oarrobainibe
oserros.abraos
on3deabrilde2009 Responder

ByAxelAlexander

BomPrimeiramenteRafaelParabensperceboquevcatendeas
todasasduvidascoisaqueemeiocomplicadohojeendia,,,mas
vamoslaaincludeeuseimasinstanciaraclasseNOainda
nomeleveamalequesoProgramavaemDelphi
etoapanhandodoPHPOOaindaatmais
on4deabrilde2009 Responder

ByRafaelClares
Axel,
deumalidanopost,as20ltimaslinhas
estojustamentemostrandocomo
instanciaroobjetoconexao.
Abraos.
on4deabrilde2009 Responder

ByAxelAlexander
bomobrigadoRafael,agoratocomoutro
problemanoconsigocomfiguraroPHPPGADMIN
noxammpeWimxpechesopralinux
on6deabrilde2009 Responder

ByRafaelClares
Axel,infelizmentenousooPhpPgAdmin
localmente,logo,notenhocomoajuda
lo!
Dumaolhadanogoogle.Abraos
on6deabrilde2009 Responder

ByAxelAlexander
MesmoAssimobrigadojaconseguicaraVeleu
sealguemaewtacomDificuldadepossopostara
configuraoAbraosateoutradivida
on6deabrilde2009 Responder

ByJoelson

OlRafaelblz
Caraquerotedarosparabns,pelosartigossobreoPHPOOP,
tenhofeitoalgunsprojetosmasnenhumorientadoaobjetos,
minhaprincipalduvidaeracomocriarumaconexoatravsde
classes,graasaoseuartigojpossoiniciarospassospara
desenvolveraplicaesPHPOOPbaseadoemBD,medisseram
queprogramarorientadoaobjetosmaistranquilo,doquecriar
arquivosindividuaispormaisextruturadosqueestejamvc
concorda?
euparticularmentequeromorrerquandotenhoproblemascomo
headereloopinginfinitosdophp,comPHPOOPesteproblema
seriaminimizado?
bomporenquantoisto,esperoquemeresponda
abs
on18dejunhode2009 Responder

ByRafaelClares
Joelson,obrigadopelocomentrio,fico
felizquetenhalheservido.
Quantosuapergunta,comcertezaOOP
maistranquilo,naverdademaisfcil
emtodosossentidos,manuteno,
reuso,etc.Eudiriaatquegostoso
deescreverhaha.
Bem,nuncativeproblemascomheadere
looping,eucomeceiautilizaroPHPjana
verso5poucotempo,talvezeu
encontreessasdificuldadesquevoc
mencionou,masatagoranohehe
aindabem!
Comeceiaescreverumartigosimples
sobreOOP+BDcomPHP5e
PostgreSQLmascomonohouve
nenhuminteresseeumeioquedeiuma
brecadanoartigo,tambmnosoudoido
nhahaha
Naprximasemanavoupassarparauma
segundaetada,dandocontinuidadeno
artigo,achoqueseralgobem
interessanteparaquemestquerendo
aprender.

Oprimeiroesse:
http://clares.wordpress.com/2009/04/09/php
5classesbancodedados/
abraos,
on19dejunhode2009 Responder

Byalexandre
mtbom!!
on6dejulhode2010 Responder

ByHSlife
Oiamigo,tudobem?Aquicomigoaconteceuuma
coisacuriosa,afunopg_close()noencerraa
conexo.Quandoeutiroo@elememostrao
seguinteerro:Warning:pg_close()expects
parameter1toberesource,nullgivenin
C:xampphtdocsconexao.class.phponline22.
ConfericomomanualdoPHPeesttudocerto.
PoracasoalgumaconfiguraonomeuPHP?
EstouusandooXAMPP1.7.3comPostgres8.3
on29dejulhode2010 Responder

ByRafaelClares
opg_close()recebeumparmetro,tente
pg_colse($con)Sendo$conavarda
conexo.
on4deagostode2010 Responder

Byfogueth
olhaasuadicafoimuitoutilparaconcluirum
trabalho.agradeciasemepodecemandaro
video.
on17desetembrode2010 Responder

ByRafaelClares
Amigo,noentendiolancedemandaro
vdeo!
Olinkparaovdeoesta:
http://screencast.com/users/rclares/folders/PHP/media/84f08508
325d49609564a8855decc4ea

issoqueestpedindo,no?Noest
mepedindoparalheenviarumvdeode
40MB,certo?
Enfim,ovdeoestdisponvelnolink
acima.
Abraos
on18desetembrode2010 Responder

ByCARLOS
SEUTUTORIALNODEUCERTO!
QUANDOEURODOOCODIGONOAPACHE
NOAPARECENADAATELAFICATODA
BRANCA!
ENEMCONECTACOMBANCOPOSTGRESQL!
on5deoutubrode2010 Responder

ByRafaelClares
Rsrs,toachandoquevcquenodeu
certoamigo,deveterescritotudoem
maisculascomofeznocomentrio,tente
umaoutraabordagembrother,porex:
Ol,noconseguifazer,oquepodeestar
errado?
Sacoucomo?umpoucomaisde
humildadenahoradeafirmarqueuma
coisaquevocnosabenofuncionou!
Setiveralgumadvidaepuderno
escrevelagritandosme
perguntarok,sereparara,respondoa
todasasperguntaspossveis.
Boasorte!
on5deoutubrode2010 Responder

Bycarlos
Ol,Rafaeltudobemcomvc,poderiameajudar?
(tbomassimpravcbrother!)
eufiztudoquevcfaloudescomenteiaslinhasno
php.in,verifiqueitudoquevcjadisse
maisaindanoconectanobanco.jacrieio
bancoseastabelasmaisquandofouconectar
apareceembranco.
queriasaberseeutenhoqueinstalaropostgre
dentrodapastadoapacheprafuncionarpois
queroacessarobancodedadosviacodigo.

outracoisaeunofuirudecomvcapenasfalei
quenodeucerto?
euentendosobreprogramaophp,java,ajax,
C#,C++,mysql,oracleesqlserve.squeme
pediropradesenvolverumsistemaempostgres,
comonuncadinhaconfiguradoumresolvipedir
ajuda.
porqueeuinstalotudocertocrioobancoeas
tabelasmaisnoconsigoacessar,quandoeu
mudoprosqlservereleconectanobancomaisno
postgreseunoconsigoconectar.
maisfaleuaiRafaeledesculpaaiporqualquer
coisaflws!!!!
on25deoutubrode2010 Responder

ByRafaelClares
Carlos,opostsobreconectaroPHP
comPostgreSql,certamenteeucometi
umerroaonocolocarnopostque
requisitoteropostgrefuncionando,digo
issoporqueaconexofeitapeloPHP
tosimplesquantoadoMySql,umanica
linhapg_connect().Seomtodonoest
funcionandoporquehalgodeerrado
comPHPouPostgreSQL.
Jdescomentoualinhaphp_pgsql.dll?
Sesim,verifiquenodiretriodopostgreo
arquivodata/pg_hba.conf,abraesse
arquivoeverifiqueseessalinhaestigual
noseuarquivo:
#IPv4localconnections:
hostallall127.0.0.1/32md5
Flw
on25deoutubrode2010 Responder

Bycarlos
Rafael,eudeiumaolhada
pg_hba.confestaok!
aieupresteiatenonahorade
estartaopostgreselefalaqueno
podecriarodoretorio.gnupgno
/opt/postgresql/9.0/.gnupgo
postgretemacessonegado?o

queeufaopraresolverisso?
euestouachandoqueporcausa
dissopoisocodigodeconexo
estatudook!
Rafaeloutracoisaeutenhoque
intalaroapachenomesmo
diretorioouno?
desdejagradeo!flws.
on29deoutubrode2010 Responder

ByRafaelClares
Carlosestouseminternet
atsegunda,sapartir
dessediapoderiaajudar
ok.
on29deoutubrode2010
Responder

ByRafaelClares
Entocara,sobreo
problemadopostgreno
consigoteajudar,talvez
sejainteressantevocfazer
umabuscanogoogle,isso
seaconteceemqualquer
baseoproblema.
on31deoutubrode2010
Responder

Bycarlos
oi,Rafaelcaracomotuconseguiuconectarcom
postgres
jafizdetudomaissoapareceapaginaembranco
meumaluzaicara!!
on3denovembrode2010 Responder

ByRafaelClares
Verifiqueseaextensophp_pgsqlest
descomentadanophp.ini
on4denovembrode2010 Responder

ByCarlos

Ae,galeraconseguiconectarcompostgres,esta
aiocodigo:
esissopodetercerteza!!!
qualquerduvidapossoajudar!
if(!@($conexao=pg_connect(host=localhost
dbname=controle_acessoport=8080
user=postgrespassword=postgres))){
printNofoipossvelestabelecerumaconexo
comobancodedados.
}else{
//pg_close($conexao)
printConexaoOK!
}
on24denovembrode2010 Responder

ByRicardo
OlRafael,tenholidoalgunsartigosdoseusitee
pegomuitasdicas.Agradeopelotrabalhode
apoioaosiniciantes.Estoucomumproblemaaps
lererelerseupostsobreconexodophpcomdb
postgreseuresolvitestar,pormmesmoosdados
estandocorretosophpnaoconetcanodbexiste
algumaconfiguraoprviaemambosos
softwaresparaquesecomuniquem.Utilizoubuntu
10.10,rodandopostgresql8.4,apache2ephp5
todosfunfando100%masmesmocomsuaajuda
aindanoconseguiconectarnobancosaparece
amsgdequenaoestouconectadoemesmoque
euretireo@dopg_connectnaomeeh
retornadooerro,seforpossvelmeajudarte
agradeo
on12dedezembrode2010 Responder

ByRafaelClares
Ricardo,vocprecisaverseoPHPfoi
compiladocomoPostgre,sevoc
instalouoapache2eoPHPesdepois
intalouopostgreentovocprecisa
recompilarainstalaodoapache2e
PHP.Dumaolhadanophpinfo()para

verseestcompiladoopostgre.
on13dedezembrode2010 Responder

ByRicardo
Rafael,observeinovamenteo
phpinfo()emeparecequeest
ok,nelecontmrefernciasao
postgressimetambmaopgsql,
masaindaassimeunaoconsigo
conectaraobanconempelophp
topoucopelopgadmin,oqueeu
devosetarnosarquivosde
configuraodoapache2,php5e
postgres8.4paraqueocorraessa
interao?
Desdejagradeosua
colaborao
on14dedezembrode2010
Responder

ByRafaelClares
EntoRicardo,acreditoque
sejaalgonainstalaod
umabuscanogooglepelo
termo:PHP+PostgreSQL
noUbuntu
Diirencontrarostutoriais
deinstall,merecordoque
nolinuxtemumlancede
terquealterarasenhamas
notenhocertezasena
suadistrohessa
necessidade!
Boasorte!
on14dedezembrode2010
Responder

ByRicardo
ObrigadoRafael,refizospassosdeinstalaodo
postgres,apache2ephp5edescobriqueno
haviainstaladoophppgadmin,apsterinstaladoo
mesmoemodificadoasenhadousuariopostgres
conseguiconectarophpcompostgresatrvesdo
videoquevcpostou,agradeomaisumavezpela

suaajuda.Noquerendosermuitochato,mas
voctemalgummaterial,tipoapostilaoumanual
dephp?setiverseriapossivelmeenviarpore
mail,comojdisseestoucomeandoaaprendera
programarnessalinguagemecomoestounessa
sozinhotodaajudabemvinda.
Vlw,ataprxima
on15dedezembrode2010 Responder

ByRafaelClares
Ricardo,ficofelizquetenhaconseguido!
OlhaamelhorapostiladePHPquejvi
online,naverdadeadocumentaodo
PHP,muitocompleta.http://www.php.net
Sesouberoquequerfazer,comofazer
muitomaisfcil!
abraos!
on16dedezembrode2010 Responder

ByDennerLuan
EaeRafael,
Fuifazerumtestecomessaclasse,masele
sempremostraqnoestconectado.Noteriaq
colocaraporta?
on27dejaneirode2011 Responder

Byfabioluis
falarafael,
tiveumproblemaaquiafuno
pg_close($this>con)nofechaaconexo.oque
podeser?jfizalgumasalteraesenada..
on26deabrilde2011 Responder

ByRafaelClares
EaeFbio,poxacara,estranhomesmo,
serqueseupgsqlnoestconfigurado
paraumaconexopersistente?
dumalidaem:
http://php.net/manual/en/function.pg
close.php
Detodaformavoufazerumtestecom

esseexemploqueposteieverse
aconteceaqui
abs
on27deabrilde2011 Responder

ByUbiraciRafaelGomes
Muitoboaaexplicao,muitodidtica.
on22demaiode2011 Responder

ByWill
Parabnsnosomentepelocontedo
apresentadomastambmaformacomofoi
postado.
Meajudoumuito.
on17dejulhode2011 Responder

ByLenadro
Olhaexcelentevideo.Gostariaemsaberonde
possovertodososvideosquevcjacriousobre
phpepostgre.
Esevctemalgunsvideosoututoriaisque
explicamcomotrabalharcomhtml+php+postgre
on8deagostode2011 Responder

ByRafaelClares
Leandro,aindanocrieivdeosnovos,
infelizmenteotemponoestnosso
favor.
Embreveteremosmaiscontedospara
compartilhar.
Ficolhedevendoessa.
abraos
on11deagostode2011 Responder

ByJonathan
Rafaelmeajudaai,totentandoaquimasdesse
erro:
Fatalerror:Calltoundefinedfunctionpg_connect()
inC:ArquivosdeprogramasEasyPHP
5.3.8.0wwwpgclassesconexao.class.phponline16
Peloquepareceelenotreconhecendoo

pg_connect.Temcomomeajudarcara?Serque
eupossoterumcontatomelhorcomvocpara
resolverunsproblemasporaqui?Casotenha,
entreemcontatocomigo:
jonny.sanca@hotmail.com
on8desetembrode2011 Responder

ByRafaelClares
VerifiqueseesthabilitadonoPHP.inio
seupostgreSql.
extension=php_pdo_pgsql.dll
retireodafrentedalinhanophp.ini
on8desetembrode2011 Responder

ByJonathan
Jhabiliteiisso,mesmoassim
continuaoerro:/
on8desetembrode2011
Responder

ByRafaelClares
Nossacaraeudisse
extension=php_pdo_pgsql.dll
masseriapara
descomentaralinha:
extension=php_pgsql.dll
on8desetembrode2011
Responder

ByJonny
Simfoiexatamenteoqueeufiz,
masnodavacerto.Agoramudei
paraoXampp,euseioscodigos
aquidotpico.(antesestavo
usandoodovideo)eaconteceuo
queaconteciacomoCarloslem
cimanoscomentrios.Atelafica
inteirabranca.Jlitodos
comentarios,nadadaquiresolveu.
comosenadaacontecese
mesmo.Eesttudogiualao
tpico,jahabiliteilprausarso

<?etudomaiscomovocj
explicou,masnodemnada
nada.
Estouusandoocdigoassim:
con=@pg_connect(host=$this
>hostuser=$this>user
password=$this>pswd
dbname=$this>dbname)
return$this>con
}
#mtodoqueencerraaconexao
functionclose(){
@pg_close($this>con)
}
#mtodoverificastatusda
conexao
functionstatusCon(){
if(!$this>con){
echoOsistemanoest
conectado[$this>dbname]em
[$this>host].
exit
}
else{
echoOsistemaestconectado
[$this>dbname]em[$this
>host].
}
}
}
?>
Noindexestassim:
open()
#verificandoostatusdaconexao
$minhaConexao>statusCon()
#encerrandoaconexao
$minhaConexao>close()
#verificandoaconexaoapos
close()
$minhaConexao>statusCon()
?>
Emeupgsqlnophp.inijaesta
semoetudomais.Nosei
mesmooqueandaaacontecer.
on8desetembrode2011
Responder

ByRafaelClares
retireo@dafrentedo
pg_connectparavera
mensagemdeerroeme
informeamensagem.
on8desetembrode2011
Responder

ByJonny
Continuanamesma,retireio@e
atelacontinuabranca.:/
on8desetembrode2011
Responder

ByJonny
Achoquevalelembrarqueestouusandopostegre
8.4compgadmin1.10.Halgumadiferena??
on8desetembrode2011 Responder

ByRafaelClares
Achoquesuaindextemalgumproblema
ai,estassim?
$minhaConexao>open()
$minhaConexao>statusCon()
porquevocdissequeestassim:
open()
#verificandoostatusdaconexao
$minhaConexao>statusCon()
#encerrandoaconexao
$minhaConexao>close()
#verificandoaconexaoaposclose()
$minhaConexao>statusCon()
Omtodoopenestperdidoanesse
exemploquedeu
Tentecolocardadosincorretosdobanco
eretiraro@porqueassimdeverdar
erroeexibirnatela,secontinuarbranco
algumproblemanoPHP/APache
on8desetembrode2011 Responder

ByJonny

Aecara,conseguiresolveroproblemasqui^^.
SimplesmenteeralnoPHPExtensions,sque
noprogramaeasyphp.Aondeclicol,acaixinha
dadllestavadesmarcada,mesmoqnophp.ini
estavasemolelaficavadesmarcada.
Bom,tinhaesquecidodeavisarqueesuestavaa
testarnoXampp,elogodepoismesmoerrono
Wamp,masviquenovideovocusavaEasyPHP
ebaixei,ecomissodeucerto.
Muitobomblog,evocbemlegal,resolve
dvidas,eolhaqueopostaquiantigo.Recebi
respostasnomesmodia.Parabnspelotrabalho.
Agoraumacoisa,voterdeestudarcomofazer
agoraparaexibirinformaesdobanco.Mas
serialegalumtutorialnovoaisobreissoem.Ia
ajudarbastante^^
Abrseboasorteo/
on9desetembrode2011 Responder

Byigor
OiRafael,
EstouusandooEasyPHPestdandoerrode
ParseErro:syntaxerror,T_CLASSnalinha4,na
linha4estassim
include(conexao.class.php)
noestouconseguindoacharoerropoderiame
darumafora
Valew
on20desetembrode2011 Responder

Byigor
Rafael,
Funcionoueraumerronoparametros.
MtoBomcaraopost,poderiadepoisfazerde
cadastroseformularios.
Abrao
on20desetembrode2011 Responder

ByRICARDOFERNANDESDASILVA

Rafael,estoucomomesmoproblemadetelaembrancono
momentodaconexo,jvasculheianetenadadesoluo,
configureiophd.ini,ohttp.confenada.
Usoosseguintesprogramas:
PostgreSQL8.4.9instaladoemc:postgresql8.4
PHP5.2.17instaladoemc:PHP
ApacheHTTPServer2.2instaladoemc:Apache
PHPEditoremc:PHPEditor
OapacheestaintegradocomoPHPecomoPHPEditor,pelo
menosocomandophpinfo()exibiuasconfiguraodoPHP.
Pormquandotentoaconexoabaixonoaparecenada,nem
mesmoerro,tenteicolocarsenhaerradaenada.
banco=$banco
$this>strCon=host=$this>hostuser=$this>user
password=$this>pswddbname=$this>banco
}
functionOpen(){
$this>=pg_connect($this>strCon)
}
functionClose(){
pg_close($this>con)
}
functionStatusCon(){
if($this>con){
echoconectado'
}
else{
echodesconectado'
exit
}
}
}
?>
Oindex.phpficouassim:
Open()
$conexao>StatusCon()
?>
Porfavorvejaseconsegueencontraralgumerroacima.Desdej
obrigado!
Paracontatoviahotmail:ric_fernandes@pop.com.brsepuder
meadicionarvouestarprecisandomuitodeseuaxilio.
on9deoutubrode2011 Responder

ByRafaelClares
Ricardo,equantoasshorttags?
Jtentoumudarde<?para<?php
on17deoutubrode2011 Responder

ByRICARDOFERNANDESDASILVA
tenteiainda
<?php
//conexao.inc.php
$str_conexao="host=127.0.0.1dbname=postgres
port=5432user=postgrespassword=postgres"
$conexaophp=pg_connect($str_conexao)
if(!$conexaophp){
echo"Houveerroaoconectaraobanco".
pg_last_error()
echo"Informeamensagemacimaaosuportepelo
fone9999oupeloemail
suporte@suporte.com.br
exit
}
?>
tambmretornoutelaembranco
on9deoutubrode2011 Responder

ByRafaelClares
Jdescomentoualinha:
extension=php_pgsql.dll
noPHP.ini,voctemquedescomentar,
retirandoodafrentedalinha
outracoisa,coloqueemtodosos
arquivos,naprimeiralinhaalinhaque
segueabaixo:
error_reporting(E_ALL)
Assimtodososerrosseroreportados!
on17deoutubrode2011 Responder
ByLG
Boatarde.Vialgunscomentriosdepessoasque
estovisualizandoapenasumatelaembranco.
Estavacomesseproblemaeacabeidedescobrir
quenohaviainstaladoophp5_pgsql,omdulo
doPostgresparaPHP.Recomendoquetentem

isso.
Outrodetalhesobreafunoclose.Tambm
noestencerrandoaminhaconexo.Mas,sobre
isso,estamosconectandocomopg_connecte
nocomopersistentepg_pconnect.Sendoassim,
aconexoencerradaautomaticamenteapso
encerramentodoscript,tornandoafuno
desnecessria.
Parabnspelopost,meajudoumuito.
Abrao!
on5defevereirode2012 Responder

Byfernablues
Parabens!pelotutorialmuitobom!Tivealguns
problemasparaconfiguraroPHP+Postgremas
foisativaralgumasDllnoPHP.inicopiar2parao
diretoriodeextenseseconseguifazeraconexo
comoBDPostgre.
Masqueropedirumaajuda.
Tenteifazerumselectnoindex.phpepareceque
elenoreconheceainstaciaodaclasseeda
umerro.podedarumaajuda?
mandandooscriptquecrieieoerroquerecebi:
index.php
<?php
/*
*Createdon02/04/2012
*
*Tochangethetemplateforthisgeneratedfilego
to
*WindowPreferencesPHPeclipsePHP
CodeTemplates
*/
#incluindoaclasseconexao(supondoestarno
mesmodiretorio)
echo'includedaclasse.'
include(conexao.class.php)
echoInstanciaroobjetoconexao.'
#Instanciaroobjetoconexao
$minhaConexao=newconexao()
echoChamadaaometodoopenqueabraa
conexao.'
#chamadaaometodoopenqueabraaconexao
$minhaConexao>open()
echoVerificandoostatusdaconexao.'

#verificandoostatusdaconexao
$minhaConexao>statusCon()
printExecutarconsultaabasePostgre>>
SAFWEB
$result=pg_query($con,SELECTsituacao,
titulo_situacaoFROMsituacao_condutor)
if(!$result){
echo>>Erronaconsulta!
exit
}
while($row=pg_fetch_row($result)){
echoSituao:$row[0]DescrioSituao:
$row[1]
echon
}
echoencerrandoaconexao.'
#encerrandoaconexao
$minhaConexao>close()
echoverificandoaconexaoaposclose.'
#verificandoaconexaoaposclose()
$minhaConexao>statusCon()
?>
errorecebido:
includedaclasse.
Instanciaroobjetoconexao.
Chamadaaometodoopenqueabraaconexao.
Verificandoostatusdaconexao.
OsistemaestconectadoaoBanco:
db_combustivelnoHost:10.72.31.114
ExecutarconsultaabasePostgre>>SAFWEB
Warning:pg_query()expectsparameter1tobe
resource,nullgivenin
C:xampphtdocsLearningPHPindex.phponline25
>>Erronaconsulta!
achoqueelenoreconheceuaconexo.Como
fazer?
abrao!aguardoumadicasepossivel.
on3deabrilde2012 Responder

ByRafaelClares
Bastaalteraralinha:
$result=pg_query($con,SELECT
situacao,titulo_situacaoFROM
situacao_condutor)

Por:
$result=pg_query(SELECTsituacao,
titulo_situacaoFROM
situacao_condutor)
on3deabrilde2012 Responder

Byfernablues
Putz!Valeu!rsTocomeando
agoracomoPHP+postgre,estas
dicassofundamentaispara
agilizaremultiplicaro
aprendizado
Maisumavezparabens!e
continuepostandotutoriaisedicas
vouestarantenadoaqui
Abrao!
on3deabrilde2012 Responder

ByRafaelClares
Flwvaleuirmo!
obs:procureler(traduzir)
asmensagensdeerro,o
errodiziaquepg_querys
esperaumnico
parmetroevocestava
passando2.
Abs,
on3deabrilde2012
Responder

Byfernablues
kkkkktensrazoeolhaquedominobemoingles.
Asvezesoerrotanacaradagenteenapressa,
noenxergamosnadars
on3deabrilde2012 Responder

ByLucas
Piorquetavaescritoassim,erradotbmnophp.net
http://php.net/manual/en/function.pgquery.php
exemplo1
deixaramerradolmesmo?
on7deabrilde2012 Responder

ByRafaelClares
Lucas,notemnadaerrado,acontece
quenoexistenocasodoFernando,a
var$con.
$result=pg_query($con,SELECT
situacao,titulo_situacaoFROM
situacao_condutor)
$connoexistenocdigodeleoque
existe
$minhaConexaoentoseria
$result=pg_query($minhaConexao>con,
SELECTsituacao,titulo_situacaoFROM
situacao_condutor)
on7deabrilde2012 Responder

ByRicardo
Ol,estouusandooubuntu11evejaseestou
certo:
#/etc/php5/apache2$ls
conf.dphp.ini
Tenhodeeditarophp.ini,pormnoachoem
quallinhaest:
extension=php_pdo_pgsql.dll
on8demaiode2012 Responder

ByRafaelClares
Ricardo,nessecasoseria:
extension=php_pgsql.dll
Vejatambmseopostgresqlest
instalado
on8demaiode2012 Responder

ByAliana
Rafael,
Noseisepodemeajudar,masprecisodeajuda
decomoconectarobancopostgresnosistema
zendframework.
Atenciosamente
Aliana
on15demaiode2012 Responder

ByRafaelClares
Aliana,creiosermaisfcilvocprocurar
emalgumforumZend,alis,na
documentaoZend.
on15demaiode2012 Responder
Bycarasco
Mopaia.
on23demaiode2012 Responder

Byeduardo_gi@live.com
Ol,Rafael,muitobomoseututorial,pormestou
comumaduvidaparaacriaodaclasse
construtor..
function
conecta($bd,$servidor,$porta,$usuario,$senha){
if($this>bd==postgresql){
$this>id=
pg_connect($servidor,$porta,$usuario,$senha,$bd)
}
Ondeeucolocoosmeusdadosdomeubancode
dadosdentrodestafuno?
on18dedezembrode2012 Responder

ByRafaelClares
Desculpe,noentendibemsuapergunta.
Noseriapassadoaochamarafuno?
conecta(fotos,localhost,543,postgres,postgres)
on7dejaneirode2013 Responder
Bymurilo
Estoucomproblemasparaconectapostgre
pgadminIIIcomphppoderiameajuda?
murilonunescedup@gmail.com
on4demarode2015 Responder

Perguntasduplicadasoucujoarespostaestejanoscomentriossero
ignoradas.
Comentrioscomcdigosseroignorados(paraisso,useo

pastebin.comeinformeaquiolink).
Faasuaperguntae"aguarde"seraprovadaparaaparecernoblog.
Aguardesuaresposta,elanoemtemporeal,tenhapacincia!

Deixe seu comentrio


Escrevaoseucomentrioaqui...

RafaelClaresCopyright2015.

Voltaraotopo