PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

sqlite_fetch_string> <sqlite_fetch_object
Last updated: Fri, 10 Oct 2008

view this page in

sqlite_fetch_single

SQLiteResult->fetchSingle

SQLiteUnbuffered->fetchSingle

(PHP 5, PECL sqlite:1.0.1-1.0.3)

sqlite_fetch_single -- SQLiteResult->fetchSingle -- SQLiteUnbuffered->fetchSingleFetches the first column of a result set as a string

Opis

string sqlite_fetch_single ( resource $result [, bool $decode_binary ] )

Object oriented style (method):

SQLiteResult
string fetchSingle ([ bool $decode_binary ] )
SQLiteUnbuffered
string fetchSingle ([ bool $decode_binary ] )

sqlite_fetch_single() is identical to sqlite_fetch_array() except that it returns the value of the first column of the rowset.

This is the most optimal way to retrieve data when you are only interested in the values from a single column of data.

Parametry

result

The SQLite result resource. This parameter is not required when using the object-oriented method.

decode_binary

Kiedy parametr decode_binary zostanie ustawiony na TRUE (domyślnie), PHP zdekoduje kodowanie binarne, któremu zostały poddane dane, jeśli były kodowane przy użyciu funkcji sqlite_escape_string(). Zazwyczaj należy pozostawić domyślną wartość tego parametru, chyba że baza jest współużytkowana przez różne aplikacje.

Przykłady

Example #1 A sqlite_fetch_single() example

<?php
if ($dbhandle sqlite_open('mysqlitedb'0666$sqliteerror)) {

    
$sql "SELECT id FROM sometable WHERE id = 42";
    
$res sqlite_query($dbhandle$sql);

    if (
sqlite_num_rows($res) > 0) {
        echo 
sqlite_fetch_single($res); // 42
    
}
    
    
sqlite_close($dbhandle);
}
?>

Zobacz też:



add a note add a note User Contributed Notes
sqlite_fetch_single
jmarbas at hotmail dot com
24-Jul-2005 02:45
It isnt specified in the above description for this function, but yes this function will not only return the first column, but it will also return the first value (ie from the first row in the result set) of that column. Also the result set pointer is involved here in that if you use sqlite_fetch_single in a loop, it will return each value in the first column sequentially and advance the result set pointer each time.

i.e. the first loop iteration it returns the first value in the first column. the second loop iteration it returns the second value in the first column. the third loop iteration the third value and so on.

  $handle = sqlite_open("database_file_name") or die("Could not open database");
  //generate query string
  $query = "select distinct field1 from database_name";
  //execute query
  $result = sqlite_query($handle,$query)
  //if a row exists
  if(sqlite_num_rows($result)>0){
    echo "<table cellpadding=\"10\" border=\"1\">";
    //check for more rows
    while(sqlite_has_more($result)){
      //get first field from each row
      //print values
      $row=sqlite_fetch_single($result);
      echo "<tr>";
      echo "<td>".$row."</td>";
      echo "</tr>";
    }
    echo "</table>";
  }
  //close database file
  sqlite_close($handle);
roga at yoopee dot de
11-Jul-2004 10:02
Be careful with the use of sqlite_fetch_single() in a while-loop:

<?php
$result
= sqlite_query($db_handle, 'SELECT foo FROM bar;');

while (
$row = sqlite_fetch_single($result)) {
    
/*...do s.th. with $row...*/
}
?>

This may not work as expected because the loop will stop if any of the foos has a false value (e.g. zero).

Use sqlite_has_more() instead:

<?php
$result
= sqlite_query($db_handle, 'SELECT foo FROM bar;');

while (
sqlite_has_more($result)) {
    
$row = sqlite_fetch_single($result);
    
/*...do s.th. with $row...*/
}
?>

sqlite_fetch_string> <sqlite_fetch_object
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites