sqlite_fetch_array

SQLiteResult::fetch

SQLiteUnbuffered::fetch

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

sqlite_fetch_array -- SQLiteResult::fetch -- SQLiteUnbuffered::fetchВыбирает следующую запись из результата запроса и возвращает массив

Описание

sqlite_fetch_array ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

Объектно-ориентированный стиль (метод):

SQLiteResult::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array
SQLiteUnbuffered::fetch ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

Выбирает следующую запись из результата запроса, заданного аргументом result. Если результат больше не содержит данных, возвращает FALSE, иначе возвращает массив, содержащий данные.

Список параметров

result

Ресурс результата SQLite. Этот параметр не требуется при использовании объектно-ориентированного метода.

result_type

Необязательный параметр result_type принимает константу, определяющую, как будет индексирован возвращаемый массив. При использовании SQLITE_ASSOC будет возвращен ассоциативный массив, а при использовании SQLITE_NUM - числовой. SQLITE_BOTH вернет массив как с ассоциативными, так и с числовыми индексами. Значением по умолчанию для этой функции является SQLITE_BOTH.

decode_binary

Когда параметр decode_binary установлен в TRUE (по умолчанию), PHP будет декодировать бинарный код, примененный к данным, как если бы они были закодированы функцией sqlite_escape_string(). Обычно вам следует оставлять это значение по умолчанию, если только вы не работаете с базой данных sqlite, которая была создана в ином приложении.

Возвращаемые значения

Возвращает массив со следующей записью в результирующем наборе, или FALSE, если следующая позиция находится за последней записью.

Имена столбцов, возвращаемые SQLITE_ASSOC и SQLITE_BOTH, будут приведены к нужному регистру согласно значению конфигурационной опции sqlite.assoc_case.

Примеры

Пример #1 Процедурный стиль

<?php
$dbhandle 
sqlite_open('sqlitedb');
$query sqlite_query($dbhandle'SELECT name, email FROM users LIMIT 25');
while (
$entry sqlite_fetch_array($querySQLITE_ASSOC)) {
    echo 
'Имя: ' $entry['name'] . '  E-mail: ' $entry['email'];
}
?>

Пример #2 Объектно-ориентированный стиль

<?php
$dbhandle 
= new SQLiteDatabase('sqlitedb');

$query $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // буферизованный результирующий набор
$query $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // небуферизованный результирующий набор

while ($entry $query->fetch(SQLITE_ASSOC)) {
    echo 
'Имя: ' $entry['name'] . '  E-mail: ' $entry['email'];
}
?>

Смотрите также

  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива
  • sqlite_fetch_string() - Псевдоним sqlite_fetch_single

add a note add a note

User Contributed Notes 1 note

up
0
saleh at sfsj dot net
20 years ago
[Editor's note: to get short column names there's an undocumented PRAGMA setting. You can exec "PRAGMA short_column_names = ON" to force that behavior.]

I noticed that if you use Joins in SQL queries, the field name is messed up with the dot!
for example if you have this query:
SELECT n.*, m.nickname FROM news AS n, members AS m WHERE n.memberID = m.id;

now if you want to print_r the results returned using SQLITE_ASSOC type, the result array is like this :
array
(
  [n.memberID] => 2
  [n.title] => test title
  [m.nickname] => NeverMind
  [tablename.fieldname] => value
)

and I think it looks horriable to use the variable ,for example, $news['m.nickname'] I just don't like it!

so I've made a small function that will remove the table name (or its Alias) and will return the array after its index is cleaned
<?php
function CleanName($array)
{
  foreach (
$array as $key => $value) {
   
//if you want to keep the old element with its key remove the following line
     
unset($array[$key]);

  
//now we clean the key from the dot and tablename (alise) and set the new element
     
$key = substr($key, strpos($key, '.')+1);
     
$array[$key] = $value;
  }
  return
$array;
}
?>
To Top