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, 20 Jun 2008

view this page in

sqlite_fetch_single

SQLiteResult->fetchSingle

SQLiteUnbuffered->fetchSingle

(No version information available, might be only in CVS)

SQLiteUnbuffered->fetchSingle — Lit la première ligne d'un résultat SQLite sous forme de chaîne

Description

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

Style orienté objet :

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

sqlite_fetch_single() est identique à sqlite_fetch_array() hormis le fait qu'elle retourne uniquement la valeur de la première colonne du résultat.

C'est la méthode optimale pour lire des données, si vous n'êtes intéressé que par les valeurs de la première colonne.

Liste de paramètres

result

La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.

decode_binary

Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.

Exemples

Exemple #1 Exemple avec sqlite_fetch_single()

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

    
$sql 'SELECT id FROM sometable WHERE id = 42';
    
$res sqlite_query($db$sql);

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

    
sqlite_close($db);
}
?>



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, 20 Jun 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites