(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_query -- SQLiteDatabase->sorgu — Belirtilen veritabanında bir sorgu çalıştırıp bir sonuç tanıtıcısı döndürür
$db
, string $sorgu
[, int $sonuç_türü
[, string &$hata_iletisi
]] ) : resource$sorgu
, resource $db
[, int $sonuç_türü
[, string &$hata_iletisi
]] ) : resourceNesne yönelimli kullanım
$sorgu
[, int $sonuç_türü
[, string &$hata_iletisi
]] ) : SQLiteResult
Belirtilen veritabanında (db
)
sorgu
ile belirtilen SQL deyimini çalıştırıp elde
edilen sonuç kümesi için bir tanıtıcı döndürür.
db
SQLite Veritabanı özkaynağı. Yordamsal kullanımda sqlite_open() işlevi tarafından döndürülür. Nesne yönelimli kullanımda bu değiştirgeye gerek yoktur.
sorgu
Çalıştırılacak sorgu.
Sorgu içindeki verinin düzgün olarak öncelenmiş olması gerekir.
sonuç_türü
İsteğe bağlı bu değiştirgede döndürülen
dizinin nasıl oluşturulacağını belirleyen bir sabit belirtilir.
SQLITE_ASSOC
belirtilirse alanların isimleri indis olarak kullanılır. SQLITE_NUM
belirtilirse alanların sıra
numaraları indis olarak kullanılır. SQLITE_BOTH
için ise
hem isimli hem de sayısal indisli bir dizi döner.
SQLITE_BOTH
bu işlev için öntanımlı değerdir.
hata_iletisi
Bir hata oluştuğunda hata iletisi bu değiştirgeye konur. SQL sözdizimi hataları sqlite_last_error() işlevi ile alınamadığından bu değiştirge özellikle önemlidir.
Bilginize: Diğer veritabanı eklentileri (MySQL gibi) ile uyumluluk için iki ayrı sözdizimi desteklenmektedir. Genelde tercih edilen sözdizimi
db
değiştirgesinin ilk değiştirge olarak kullanıldığı ilk sözdizimidir.
Hata durumunda FALSE
yoksa bir sonuç tanıtıcısı döndürür. Çok sayıda satır
döndüren sorgular için sonuç tanıtıcısı
sqlite_fetch_array() ve sqlite_seek()
gibi işlevlerde kullanılabilir.
Sorgu türünden bağımsız olarak, bir sorgu başarısız olursa bu işlev FALSE
döndürür.
sqlite_query() işlevi, üzerinde arama yapılabilen, tamponlu bir sonuç tanıtıcısı döndürür. Satırlara rasgele erişimin gerekli olduğu durumlarda nispeten küçük sonuç kümeleri için oldukça elverişlidir. Tamponlu sonuç için bellekte bir yer ayrılır ve bu tampon gerekli satırlarla doldurulana kadar işlev dönmez. Veriye rasgele değil de sırayla erişmenin yeterli olduğu durumlarda sqlite_unbuffered_query() işlevi daha verimlidir.
Sürüm: | Açıklama |
---|---|
5.1.0 |
hata_iletisi değiştirgesi eklendi.
|
SQLite, noktalı virgüllerle ayrılmış birden fazla sorguyu çalıştırabilir. Bu sayede, bir dosyadan yüklenen SQL betiklerini çalıştırabilirsiniz. Ancak, bu sadece işlev sonucu kullanılmayacaksa işe yarar, kullanılacaksa tek bir SQL deyimi çalıştırılmalıdır. Çok sayıda SQL deyimini çalıştırmak için daima sqlite_exec() işlevini kullanın.
Çok sayıda sorgu çalıştırıldığı durumda bir hata oluşmuşsa FALSE
, başarı
durumunda ise TRUE
döner. Tek SQL deyimlik sorgularda ise başarı
durumunda sonuç tanıtıcısı döner.