2015-08-10 16 views
6

Postgres 9.4 veritabanını kullanıyorum ve PHP'yi ön uç olarak kullanıyorum. Ben çalıştırabilirDatatipi bir postgres dizisinde anlatmanın yolu var mı?

genel sorgu şu şekilde görünecektir:

PHP: Ben tükürür sütunun veri türünü bilmek gerektiren bir ön uç içine çalıştırıyorum

$query = "select * from some_table"; 
pg_prepare($connection,"some_query",$query); 
$result = pg_execute($connection,"some_query",array()); 

while ($row = pg_fetch_array($result,null,PGSQL_ASSOC)) { 
    echo $row['some_field']; 
    echo $row['some_field_1']; 
    echo $row['some_field_2']; 
} 

- özellikle echoun veritabanı alanı bir timestamp sütun olduğunda bilmem gerek.

Açıktır ki, integers ve string, ancak zaman damgası farklı bir şeyden biraz bahsedebilir.

strtotime()'un false değerini döndürüp döndürmediğini görebiliyordum, ancak bu bana biraz kirli görünüyor.

Yani benim soru:

sadece $key=>$value çifti aynı zamanda datatype ile veritabanı sıranın çok boyutlu bir dizi dönebilirsiniz bir PHP yerleşik işlevi var mı?

Bu konuda herhangi bir yardım için teşekkür ederiz - teşekkür ederim!

+2

bu almak için sorgular vardır :: aşağıda sorguda col1 tipini verecekti 0 kullanarak yukarıdaki durum için ve ayrıca orada http://php.net/manual/en/function.pg- field-type.php – AbraCadaver

+0

@AbraCadaver Lütfen bunu küçük bir ayrıntıyla yanıt olarak gönderin. –

cevap

1

Sen information_schema.columns gelen sorgulamak ve sadece diğer sorgular gibi getirebilir:

SELECT column_name, data_type 
FROM information_schema.columns 
WHERE table_name='some_table' 

Veya sorgu kullanım pg_field_type() sonra:

$type = pg_field_type($result, 0); 

Ama sütunun konumunu bilmek gerekir Sonuç olarak (yine de en iyi uygulama) sütunları listelemelisiniz.

SELECT col1, col2, col3 FROM some_table 
İlgili konular