sqlite_single_query
SQLiteDatabase::singleQuery
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.1)
sqlite_single_query -- SQLiteDatabase::singleQuery — Executes a query and returns either an array for one single column or the value of the first row
Description
array sqlite_single_query
( resource
$db
, string $query
[, bool $first_row_only
[, bool $decode_binary
]] )Object oriented style (method):
public array SQLiteDatabase::singleQuery
( string
$query
[, bool $first_row_only
[, bool $decode_binary
]] )Warning
This function is currently not documented; only its argument list is available.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- SQLite
- sqlite_array_query
- sqlite_busy_timeout
- sqlite_changes
- sqlite_close
- sqlite_column
- sqlite_create_aggregate
- sqlite_create_function
- sqlite_current
- sqlite_error_string
- sqlite_escape_string
- sqlite_exec
- sqlite_factory
- sqlite_fetch_all
- sqlite_fetch_array
- sqlite_fetch_column_types
- sqlite_fetch_object
- sqlite_fetch_single
- sqlite_fetch_string
- sqlite_field_name
- sqlite_has_more
- sqlite_has_prev
- sqlite_key
- sqlite_last_error
- sqlite_last_insert_rowid
- sqlite_libencoding
- sqlite_libversion
- sqlite_next
- sqlite_num_fields
- sqlite_num_rows
- sqlite_open
- sqlite_popen
- sqlite_prev
- sqlite_query
- sqlite_rewind
- sqlite_seek
- sqlite_single_query
- sqlite_udf_decode_binary
- sqlite_udf_encode_binary
- sqlite_unbuffered_query
- sqlite_valid
Коментарии
AFAIK, you cannot use sqlite-single-query for all kind of SQL queries.
If you are lazy and thought you could safely copy-paste your :
<?php $result = $db->sqlite-single-query($sSQL); ?>
straight from one query to the other, whatever is the query as long as it has only one line, you are wrong.
Apparently, sqlite-single-query is limited to queries that return data, that is to SELECT queries.
<?php
$sSQL = "DELETE FROM atoms WHERE ID = '8';";
// The following won't work :
$result = $db->singleQuery($sSQL);
// But the following will :
$result = $db->query($sSQL);
?>
The previous note by franp at free dot fr appears to be incorrect, some cursory testing showed that DELETE FROM and INSERT INTO queries worked fine so other queries which do not return data should also work. However, if you're looking for a drop in replacement for sqlite_query(), try sqlite_unbuffered_query() as it appears to only execute the first query if more than one is given.