VeritabanıSunucusu ve PHP Programlama Dili



Benzer belgeler
PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

Bölüm 10: PHP ile Veritabanı Uygulamaları

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

İnternet Programcılığı

POSTGRESQL Veritabanı Sunucusu ve PostgreSQL ile Kurumsal Çözümler

PL/pgSQL SQL Yordamsal Dili

Veritabanı. Ders 2 VERİTABANI

POSTGRESQL. Veritabanı Sunucusu : 8.0 neler getiriyor? Devrim Gündüz PostgreSQL Geliştiricisi

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

VERĐTABANLARINA GĐRĐŞ

PostgreSQL ve PL/pgSQL

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

PostgreSQL ve PL/pgSQL

VERİ TABANI YÖNETİM SİSTEMLERİ

TC KİMLİK NO SMS GÖNDERİM SOAP API

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Üst Düzey Programlama

Microsoft SQL Server Sorgulama

Php Programlama Dili MySQL Uygulamaları

1.PROGRAMLAMAYA GİRİŞ

PHP ile İnternet Programlama

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Disk Alanı 100 Mb Mb Mb Mb Mb Mb. Aylık Trafik (Bandwidth) 1 Gb 5 Gb 10 Gb 15 Gb 25 Gb 35 Gb

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

TC KİMLİK NO SMS GÖNDERİM XML API

MongoDB. Doğan Aydın. Eylül, 2011

PostgreSQL'de Uygulamalı. (Streaming Replication. Standby)

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Veri Tabanı Yönetim Sistemleri Bölüm - 3

LOGO için Online Mutabakat Kullanım Kılavuzu

PostgreSQL Veritabanı Sunucusu. Replikasyon Yazılımları: Slony-I Devrim GÜNDÜZ PostgreSQL Geliştiricisi

VERİTABANI VERİTABANIN AVANTAJLARI ÖZET

FreeBSD üzerinde PostgreSQL Temel Kurulum ve Yapılandırması

İNTERNET PROGRAMCILIĞI DERSİ

Linux'ta Kabuk ve Kabuk Programlama

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş.

İNTERNET PROGRAMCILIĞI - II

Php İle Mysql Veritabanından Bilgi Çekme

PHP+Memory Cache+PostgreSQL Kullanarak Performanslı Veritabanı Uygulaması Geliştirme

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

PostgreSQL Veritabanı Sunucusu. Başarım Arttırma Yöntemleri

PostgreSQL ve JBoss ile Java Kurumsal Çözümler. Nicolai Tufar

Veritabanı Uygulamaları Tasarımı

COM API v.1.1 BELGE SÜRÜMÜ : 1.1

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

Veri Tabanı-I 1.Hafta

Turquaz Kurulum Dökümani Linux

PHP ile İnternet Programlama

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

VIDEOCELL API. Versiyon 1.0.0

Swing ve JDBC ile Database Erişimi

SEKTÖREL ÇÖZÜM GELİŞTİRME YÖNTEMLERİ

1-Veritabanı Yönetim Sistemleri /Tanım

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

Zope Uygulama Sunucusu

MOBİL UYGULAMA GELİŞTİRME

Program Kurulum. Turquaz Muhasebe. İçindekiler

Wireshark Lab.: DNS. 1. nslookup

Laboratuar Notları #5

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

FreeBSD Üzerinde PostgreSQL i 8.1 e Güncelleme

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

LOGO Online Mutabakat ve Finans Süreç Yönetimi. ARTI BİLİŞİM ve DESTEK HİZMETLERİ

Kemalettin YıldY KADIR HAS UNIVERSITY. UNIX SYSTEM ADMINISTRATOR

Açık Kaynak Kodlu Yazılım

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

PostgreSQL - Yeni dönemdeki yeri

R ile Programlamaya Giriş ve Uygulamalar

Neden PHP? Tasarımcı, şirket ve kullanıcı gözüyle. 10 Ekim 2005 / DEÜ DESEM Seval ÖZBALCI 1

Asp.Net Veritabanı İşlemleri

MCR02-AE Ethernet Temassız Kart Okuyucu

Başlangıç Ayarları.

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

Liquibase ile Veri Tabanı Değişiklik Yönetimi

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

Yedek Almak ve Yedekten Geri Dönmek

SQL TRIGGERS (Tetikleyiciler)

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

JAVA API v2.0 Belge sürümü: 2.0.2

VERİTABANI. SQL (Structured Query Language)

05 - Veritabanı Sızma Testleri

VERİ TABANI UYGULAMALARI

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

Nmap Sonuçlarının Yorumlanması

Transkript:

POSTGRESQL VeritabanıSunucusu ve PHP Programlama Dili Devrim GÜNDÜZ devrim@gunduz.org Teknoloji Destek Merkezi http://seminer.linux.org.tr http://www.linux.org.tr/belgeler.php http://www.gunduz.org/seminer/pg Bu sunu, herhangi bir izne gerek olmadan istenilen şekilde kullanılabilir. (Kopyalama hakkı en gel le ne mez! : ) )

LKD Seminerleri Seminer programı, seminer notları ve ayrıntılı bilgiler için; http://seminer.linux.org.tr adresini ziyaret edebilirsiniz.

PostgreSQL nedir? PostgreSQL, veritabanları için relational modeli kullanan ve SQL standart sorgu dilini destekleyen bir veritabanı yönetim sistemidir. PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir DBMS tir. Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır. Ayrıca NT çekirdekli tüm Windows sistemlerde de çalıştırılabilir. Tabii ki ücretsiz ve açık kodludur. Kaynak: http://www.postgresql.org

Kimler kullanıyor? Türkiye deki belli başlı üniversiteler Malatya İnönü Üniversitesi Turgut Özal Tıp Merkezi www.begendim.com.info ve.org alan adları (www.afilias.com) http://www.sciencetunnel.com Cisco BASF Red Hat Chrysler 3Com USDA, FDA, ve University of California...

Neden PostgreSQL? Açık kaynak kodlu Güvenilir Geniş geliştirici grubu 34 farklı platfom desteği Bir çok programlama arayüzü Geniş destek imkanı Çok gelişmiş özellikler...

Teknik açıdan PostgreSQL Bazı teknik özellikler açısından, PostgreSQL şunları sunar: %100 ACID uyumlu ANSI SQL uyumlu Referential Integrity Replikasyon (ticari ve ticari olmayan çözümler) ana veritabanının (master) çok sayıda başka veritabanlarına (slave) çoklanmasını sağlar.

Teknik açıdan PostgreSQL ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python, and Ruby için doğal arabirimler. Rules Views Triggers Sequences Inheritance Outer Joins

Teknik açıdan PostgreSQL Stored Procedures Kod geliştiriciler işin açık API Doğal SSL Desteği UNION, UNION ALL ve EXCEPT sorgularına destek Doğal Kerberos Yetkilendirmesi Fonksiyonel ve Partial Indexler Procedural Diller

Teknik açıdan PostgreSQL MD5, SHA1, XML ve diğer işlevsel özelliklerin yüklenebilmesi. Diğer SQL uyumlu sistemlerle paylaşabilmek için taşınabilir SQL yaratan araçlar. Özelleştirilmiş, kullanıcı tanımlı veri tipleri için geliştirilebilir veri tipi sistemi ve hızla gelişen yeni veri tipleri. Daha az SQL uyumlu RDBMS'l erden geçişi kolaylaştıran cross database uyumluluk fonksiyonları

Desteklenen Platformlar Linux (Kernel 2.0.X ve üzeri) AIX 4.3.2 HP UX 9.0x ve 10.20 FreeBSD 4.X IRIX 6.5.6f MacOS X Darwin NetBSD 1.4, 1.4u QNX 4.25 SCO OpenServer 5 SCO Unix Ware 7 Solaris 2.5.1 2.7 Sun OS 4.1.14 WinNT/Cygwin BSDI 4.0.1 BeOS 5.0.3

PostgreSQL Sınırlamaları Veritabanı için max büyüklük: Bir tablo için max büyüklük: Bir row için max büyüklük: Bir field için max büyüklük Tablo içindeki max row sayısı: Tablo içindeki max column sayısı: Tablo içindeki max index sayısı: Sınırsız 64 TB (Tüm işletim sistemlerinde) Sürüm 7.1 ve sonrasında sınırsız Sürüm 7.1 ve sonrasında 1 GB Sınırsız 1600 Sınırsız Burada bahsedilen sınırlamalar, fiziksel sınırların haricindeki sınırlardır.

PostgreSQL Programlama Arayüzleri C PHP Java Python Delphi Perl Tcl Tk

PostgreSQL araçları psql Oracle daki SQL*PLUS gibi PostgreSQL de psql adında command line aracı vardır. PostgreSQL veritabanları genellikle bu uygulama tarafından yaratılır ve yönetilir. psql : psql [seçenekler] [veritabanı_adı [kullanıcı_adı]] biçiminde çalışır.

PostgreSQL araçları psql [postgres@localhost postgres] psql pgornek Varsayılan veritabanı, kullanıcı adı, sunucu makine adı ve dinlenilen port numarası sırasıyla PGDATABASE, PGUSER, PGHOST ve PGPORT çevre değişkenlerinin ayarlanması ile değiştirilebilir. Bu varsayılan değerler yine sırasıyla psql e d, U, h ve p seçeneklerini geçirerek değiştirilebilir.

PostgreSQL araçları psql psql'e PostgreSQL in desteklediği herhangi bir SQL komutunu verebilirsiniz. Desteklenen SQL komutlarının listesini \h iç komutu ile görebiliriz. Özel olarak istenen bir komut varsa \h sql_komutu ile de yardımı alabiliriz. \? iç bize tüm iç komut listesini verecektir.

PostgreSQL araçları psql psql de komutlar birden fazla satırda yazılabilir. Böyle zamanlarda psql promptu > şekline dönüşecek ve daha fazla girişin beklendiği belirtilecektir: [postgres@localhost postgres] /usr/local/pgsql/bin/psql pgornek... pgornek=> SELECT * pgornek > FROM musteri pgornek >;... [postgres@localhost postgres]

Görsel Araçlar phppgadmin Web arayüzlü olduğu için, çalıştırıldığı ortamdan bağımsızdır. postgres kullanıcısı ile veritabanınızı yönetebileceğiniz gibi belirli bir kullanıcı ile belirli bir veritabanını da yönetebilirsiniz. Her türlü kayıt ekleme, silme, değiştirme; veritabanı/tablo yaratma vb işlemlerini SQL bilmeden yapabilirsiniz.

Görsel Araçlar PHPPgAdmin Veritabanının içeriğini bir dosyaya boşaltabilir, daha sonra bu içeriği başka bir sunucuda da kullanabilirsiniz. Bunların dışında PostgreSQL in SQL komutlarını çalıştırabilirsiniz. Türkçe dil desteği 2.4.2 sürümü ile gelmiştir. http://phppgadmin.sourceforge.net adresinden ücretsiz olarak indirilebilir.

PHP ve PostgreSQL PHP, günümüzde çok fazla kullanılan, sunucu tarafında programlama amacıyla tasarlanmış bir dildir. Özellikle web üzerinde geliştirilen yazılımlarda kullanılır. PHP, özellikle 4.2 sürümü ile birlikte, oldukça fazla PostgreSQL fonksiyonu getirmiştir. http://tr.php.net/manual/en/ref.pgsql.php

PHP ve PostgreSQL PHP, öntanımlı olarak PostgreSQL desteği ile gelmez. Bu desteği kendinizin vermesi gerekir. Kaynak kod RPM

Derleme parametreleri Kaynak koddan derlemede, configure betiğine with pgsql=/var/lib/pgsql (eski rpm kurulumları) with pgsql=/usr/local/pgsql (eski kaynak koddan kurulumlar) with pgsql=/usr (PostgreSQL'in yeni sürümleri ve yeni PHP sürümleri) parametresi geçirilmelidir.

Kaynak koddan derleme Kaynak koddan derlemede, sisteminize daha önceden PostgreSQL kurulu olmalıdır. Bu şekilde, derleme için gerekli kitaplıklar bulunabilecektir.

php pgsql paketi. RPM Kurulumu rpm ivh php pgsql <surum_no> <işlemci mimarisi>.rpm Örnek : rpm ivh php pgsql 4.2.2 1.i686.rpm

PHP ve PostgreSQL RPM kurulumlarında, postgresql devel paketinin sisteminize daha önceden kurulmuş olması gerekir. Bazı dağıtımlarda, php.ini dosyasını edit etmek gerekebilir.

PHP PostgreSQL Fonksiyonları pg_connect(), pg_pconnect() pg_query() pg_close() pg_update() pg_last_oid() pg_field_size() pg_field_name() pg_connection_busy() pg_fetch_array() pg_field_is_null() pg_free_result() pg_fetch_result() pg_lo_open() pg_set_client_encoding() pg_ping() pg_result_error() pg_select() pg_affected_rows()

PHP PostgreSQL Fonksiyonları pg_connect : PostgreSQL bağlantısı açar: $conn = pg_connect ( dbname=deneme ) deneme veritabanına bağlantı. $conn = pg_connect ( host= localhost dbname=deneme port=5432 ); # deneme veritabanına localhost üzerinden 5432.portu kullanarak bağlantı. TCP IP portu açılmış olmalıdır. $conn = pg_connect ( host= lkd dbname=deneme port=5437 user=postgres password=himm ); lkd adlı sunucudaki deneme adlı veritabanına 5432.port üzerinden postgres kullanıcısı ve himm şifresi ile bağlantı.

PHP PostgreSQL Fonksiyonları pg_close : PostgreSQL bağlantısı kapatır: Kullanımı : b o o l p g _clo s e (in t co n n ectio n ) Örnek: if (!@pg_close($conn)) { echo Hata oluştu!!! ; exit; } $conn bağlantısını kapatır.

PHP PostgreSQL Fonksiyonları pg_query : Sorguyu işletir: Kullanımı : in t p g _q u ery (in t co n n ectio n, s trin g q u ery ) PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_query ($conn,$sorgu); Eğer sorguyu işletemezse elde edilecek hata mesajını pg_errormessage() komutunu kullanarak görebilirsiniz.

PHP PostgreSQL Fonksiyonları pg_set_client_encoding : İstemci tarafındaki encodingini ayarlar: Kullanımı : in t p g _s et_clien t_en co d in g (in t co n n ectio n, s trin g en co d in g ) Örnek: $result = pg_query ($conn,'latin5'); Türkçe için gerekli ayarlamaları yapar.

PHP PostgreSQL Fonksiyonları pg_client_encoding : İstemci tarafındaki encoding değerini alır: Kullanımı : S trin g p g _clien t_en co d in g (in t co n n ectio n ); Örnek: $result = pg_client_encoding ($conn);

PHP PostgreSQL Fonksiyonları pg_connection_busy : Bağlantının meşgul olup olmadığı bilgisini alır: Kullanımı : b o o l p g _co n n ectio n _b u s y (res o u rce co n n ectio n ); PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_connectionbusy ($conn);

PHP PostgreSQL Fonksiyonları pg_fetch_all : Sorgu sonucu gelen tüm sonuçları bir: Kullanımı : array p g _fetch _all (in t res u lt) pg_fetch_all() sonuç itibariyle gelen tüm satırları (row,recort,tuple) bir diziye atar. Eğer herhangi bir satır dönmemişse, hiç bir kayıt yok demektir.

PHP PostgreSQL Fonksiyonları ÖRNEK: <?php $conn = pg_pconnect("dbname=publisher"); if (!$conn) { echo "An error occured.\n"; exit; } $result = pg_query($conn, "SELECT * FROM authors"); if (!$result) { echo "An error occured.\n"; exit; } $arr = pg_fetch_all($result); var_dump($arr);?>

PHP PostgreSQL Fonksiyonları pg_last_oid : Son oid'i alır: Kullanımı : in t p g _las t_o id (res o u rce res u lt). Örnek: function sql_last_inserted_id($connection, $result, $table_name, $column_name) { $oid = pg_last_oid ( $result); $query_for_id = "SELECT $column_name FROM $table_name WHERE oid=$oid"; $result_for_id = pg_query($connection,$query_for_id); if(pg_num_rows($result_for_id)) $id=pg_fetch_array($result_for_id,0,pgsql_assoc); return $id[$column_name]; }

PHP PostgreSQL Fonksiyonları pg_query : Sorguyu işletir: Kullanımı : in t p g _q u ery (in t co n n ectio n, s trin g q u ery ) PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_query ($conn,$sorgu); Eğer sorguyu işletemezse elde edilecek hata mesajını pg_errormessage() komutunu kullanarak görebilirsiniz.

PHP PostgreSQL Fonksiyonları pg_query : Sorguyu işletir: Kullanımı : in t p g _q u ery (in t co n n ectio n, s trin g q u ery ) PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_query ($conn,$sorgu); Eğer sorguyu işletemezse elde edilecek hata mesajını pg_errormessage() komutunu kullanarak görebilirsiniz.

PHP PostgreSQL Fonksiyonları pg_query : Sorguyu işletir: Kullanımı : in t p g _q u ery (in t co n n ectio n, s trin g q u ery ) PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_query ($conn,$sorgu); Eğer sorguyu işletemezse elde edilecek hata mesajını pg_errormessage() komutunu kullanarak görebilirsiniz.

PHP PostgreSQL Fonksiyonları pg_query : Sorguyu işletir: Kullanımı : in t p g _q u ery (in t co n n ectio n, s trin g q u ery ) PostgreSQL veritabanına SQL sorgusu gönderir. Örnek: $result = pg_query ($conn,$sorgu); Eğer sorguyu işletemezse elde edilecek hata mesajını pg_errormessage() komutunu kullanarak görebilirsiniz.

PHP PostgreSQL Fonksiyonları pg_affected_rows : Sorgu sonucu etkilenen satır sayısını verir : Kullanımı : int pg_affected_rows (int result_id) Örnek: $sonuc = pg_query($conn,$sorgu); if(!pg_affected_rows($sonuc)) { # Sorgu sonucu etkilenen satır sayısı echo "HATA : Veritabanına kayıt girilemedi.<br>"; echo "<a href =\ _URL\">Geri</a><BR>"; $sonuc = pg_query($conn, "abort"); # transaction iptali $sonuc = pg_query($conn, "rollback"); pg_close($conn); exit; }

PHP PostgreSQL Fonksiyonları <?php $db = pg_connect ('dbname=foo'); $data = array('field1'=>'aa', 'field2'=>'bb'); // This is safe, since $_POST is converted automatically $res = pg_update($db, 'post_log', $_POST, $data); if ($res) { echo "Data is updated: $res\n"; } else { echo "User must have sent wrong inputs\n"; }?>

PHP ve PostgreSQL Formdan veri alma Önce formu hazırlayalım: <FORM ACTION = insert.php METHOD=POST> OPER ADI : <input type=text name=oper_adi><br> OGRENCİ ADI : <input type=text name=kisi_adi> <BR> OGRENCI NO : <input type=text name=id_no><br> KİMLİK TÜRÜ : <input type=text name=kimlik_turu><br> LAB : <input type=text name=lab><br> <input type=submit value = Gönder> <input type=reset value= Temizle> </FORM>

PHP ve PostgreSQL Veri Girme <?php // Veritabanına bağlantı if (!$conn = @pg_connect("host=localhost dbname=deneme port=5432 user=postgres password=sifrem")) { die ( Veri tabanına bağlantı kurulamadı ); 0 // Degerler $tarih = (date ("d M Y H:i:s")); $sorgu = "insert into kayip_kimlik (oper_adi,kisi_adi,id_no,kimlik_turu,tarih,lab) values ('$oper_adi','$kisi_adi','$id_no','$kimlik_turu','$tarih','$lab')";

PHP ve PostgreSQL Veri Girme $result = pg_query("begin"); # transaction başlangıcı $sonuc = pg_query ($conn,$sorgu); if(!$sonuc) { } echo "HATA : Veri veritabanına girilemedi!!!<br>"; echo "<a href =\"form.html\">geri</a><br>"; $sonuc = pg_query($conn, "abort"); # transaction iptali $sonuc = pg_query($conn, "rollback"); pg_close($conn); exit;

PHP ve PostgreSQL Veri Girme if(!pg_affected_rows($sonuc)) { # Sorgu sonucu etkilenen satır sayısı } echo "HATA : Veritabanına değer girilemedi!!!<br>"; echo "<a href =\"form.html\">geri</a><br>"; $sonuc = pg_query($conn, "abort"); # transaction iptali $sonuc = pg_query($conn, "rollback"); pg_close($conn); exit; $result = pg_query("commit"); $result = pg_query("end"); # transaction'ın işletiliyor # transaction tamamlandı echo "Ok. Kayıt Girildi."; exit;?>

PHP ve PostgreSQL İf (!sonuc...) Hata verirse SQL sorgusunun yazımında hata var demektir. İf (!pg_affected_rows($sonuc)) Hata verirse sorgudaki değerlerin en az birinde hata var demektir.

PHP ve PostgreSQL Veri Sorgulama <?PHP // Veritabanına bağlantı... $sorgu = "select * from kayip_kimlik order by oper_adi"; $sonuc = pg_query($conn,$sorgu); if (pg_num_rows($sonuc)=='0') {die "Veritabaninda kayit yok...";}

PHP ve PostgreSQL Veri Sorgulama for ($i = 0; $i < pg_numrows($sonuc); $i++) { $satir = pg_fetch_row($sonuc, $i); $oper_adi = StripSlashes(trim($satir[0])); $kisi_adi = StripSlashes(trim($satir[1])); $id_no = StripSlashes(trim($satir[2])); $kimlik_turu = StripSlashes(trim($satir[3])); $tarih = StripSlashes(trim($satir[4])); $lab = StripSlashes(trim($satir[5])); $k = $i+1; //veritabanindaki kayit no } echo "KAYIT NO : $k<br>"; echo "Oper Adı : $oper_adi<br>"; echo "Ogrenci adi :$kisi_adi <BR>"; echo "Ogrenci no :$id_no <BR>"; echo "Kimlik Türü :$kimlik_turu <BR>"; echo "Tarih :$tarih <BR>"; echo "Lab :$lab <BR>"; echo "<HR>";

Kaynaklar http://www.postgresql.org http://advocacy.postgresql.org http://techdocs.postgresql.org http://www.commandprompt.com http://www.postgresql.org/docs http://developer.postgresql.org

Kaynaklar http://www.pgsql.com/ http://foundries.sourceforge.net/databases http://gborg.postgresql.org www.wrox.com Beginning Databases with PostgreSQL, 2001

E Posta Listeleri linux programlama@linux.org.tr Veritabanları için tartışma listesi (üye olmak için, http://liste.linux.org.tr web arayüzünü kullanabilirsiniz.) pgsql tr genel@postgresql.org (PostgreSQL Türkiye E Posta Listesi. PostgreSQL üzerinde her türlü konu konuşulabilmektedir.) http://www.postgresql.org/lists.html adresinden ulaşabileceğiniz tüm e posta listeleri

POSTGRESQL VeritabanıSunucusu ve PHP Programlama Dili Devrim GÜNDÜZ devrim@gunduz.org Teknoloji Destek Merkezi http://seminer.linux.org.tr http://www.linux.org.tr/belgeler.php http://www.gunduz.org/seminer/pg Bu sunu, herhangi bir izne gerek olmadan istenilen şekilde kullanılabilir. (Kopyalama hakkı en gel le ne mez! : ) )