sqlite_array_query

SQLiteDatabase->arrayQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_array_query -- SQLiteDatabase->arrayQueryBelirtilen veritabanı üzerinde bir sorgu çalıştırıp sonucu bir dizi içinde döndürür

Açıklama

array sqlite_array_query ( resource $db , string $sorgu [, int $sonuç_türü [, bool $ikil_çöz ]] )
array sqlite_array_query ( string $sorgu , resource $db [, int $sonuç_türü [, bool $ikil_çöz ]] )

Nesne yönelimli kullanım

array arrayQuery ( string $sorgu [, int $sonuç_türü [, bool $ikil_çöz ]] )

Belirtilen sorguyu çalıştırıp sonuç kümesini bir dizi olarak döndürür. sqlite_query() işlevinin ardından sonuç kümesindeki her satır için sqlite_fetch_array() işlevini çağırmaya eşdeğerdir. sqlite_array_query() bu işlemi bunlardan belirgin şekilde daha hızlı gerçekleştirir.

İpucu

sqlite_array_query() işlevi en fazla 45 satırlık sorgular için en iyilenmiştir. Bundan daha büyük sorgularda daha iyi başarım elde etmek için sqlite_unbuffered_query() işlevini kullanarak kendi betiğinizi yazmanız önerilir.

Değiştirgeler

sorgu

Çalıştırılacak sorgu.

Sorgu içindeki verinin düzgün olarak öncelenmiş olması gerekir.

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.

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.

ikil_çöz

TRUE belirtildiği takdirde (öntanımlıdır), veriye sqlite_escape_string() işleviyle ikil kodlama uygulanmışsa PHP bunu çözer. SQLite ile işlem yapan başka uygulamalarca oluşturulmuş veritabanları için bir takım ara işlemler yapmıyorsanız, normal olarak bu değeri öntanımlı haliyle bırakmanız gerekir.

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.

Dönen Değerler

Başarısızlık durumunda FALSE yoksa sonuç kümesinin tamamını bir dizi olarak döndürür.

SQLITE_ASSOC ve SQLITE_BOTH sabitleri kullanılarak döndürülen sütun isimlerinin harf büyüklükleri sqlite.assoc_case php.ini yapılandırma yönergesinin değerine uygun olarak döndürülür.

Örnekler

Örnek 1 - Yordamsal kullanım örneği

<?php
$dbhandle 
sqlite_open('sqlitedb');
$result sqlite_array_query($dbhandle'SELECT name,
            email FROM users LIMIT 25'
SQLITE_ASSOC);
foreach (
$result as $entry) {
    echo 
İsim' . $entry['name'] . '  Eposta' . $entry['email'];
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$dbhandle 
= new SQLiteDatabase('sqlitedb');
$result $dbhandle->arrayQuery('SELECT name,
            email FROM users LIMIT 25'
SQLITE_ASSOC);
foreach (
$result as $entry) {
    echo 
'İsim: ' $entry['name'] . '  Eposta: ' $entry['email'];
}
?>

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
-2
kendlj at NOSPAM dot web dot de
12 years ago
Do not use this code, whenever you may get no result:

<?
$return_data=@sqlite_array_query($query,$databaseHandle);
if(!$return_data)
{
   //Errorhandling code
   die( sqlite_error_string( sqlite_last_error($this->databaseHandle) ) );
}
?>

It will execute the Errorhandling code although there is no error, cause if there is nothing found, sqlite_array_query returns an empty array, which is interpreted as 'false' here.
You will get an Message like:
'not an error'

Instead use:

<?
$return_data=@sqlite_array_query($query,$databaseHandle);
if($return_data===false)
{
   //Errorhandling code
}
?>
To Top