(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
]] )$sorgu
, resource $db
[, int $sonuç_türü
[, string &$hata_iletisi
]] )Nesne yönelimli kullanım
$sorgu
[, int $sonuç_türü
[, string &$hata_iletisi
]] )
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.
dbSQLite 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_iletisiBir 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
dbdeğ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.