伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

PHP - Manual: sqlite_fetch_single

来源:网络转载 浏览:51次 时间:2023-07-27
sqlite_fetch_string » « sqlite_fetch_object PHP 手册 函数参考 数据库扩展 针对各数据库系统对应的扩展 SQLite SQLite 函数

sqlite_fetch_single

SQLiteResult::fetchSingle

SQLiteUnbuffered::fetchSingle

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

sqlite_fetch_single -- SQLiteResult::fetchSingle -- SQLiteUnbuffered::fetchSingle — Fetches the first column of a result set as a string

说明

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

面向对象风格 (method):

SQLiteResult::fetchSingle ([ bool $decode_binary = TRUE ] ) : string SQLiteUnbuffered::fetchSingle ([ bool $decode_binary = TRUE ] ) : string

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.

参数

result

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

decode_binary

decode_binary 参数设置为 TRUE(默认值)时,PHP 会解码那些由 sqlite_escape_string() 编码后的二进制数据。通常应保留此值为其默认值,除非要与其他使用 SQLlite 的应用程序建立的数据交互。

返回值

Returns the first column value, as a string.

范例

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);
}
?>

参见

sqlite_fetch_array() - Fetches the next row from a result set as an array
add a note

User Contributed Notes 3 notes

up down 1 jmarbas at hotmail dot com13 years ago 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);
up down 0 visavi dot net at mail dot ru (Vantuz)9 years ago With the help of sqlite_fetch_single, you can quickly and easily calculate the number of elements in the table

<?php

// create new database (OO interface)
$db = new SQLiteDatabase('database.db', 0666);

// create table inbox and paste data
$db->queryExec("
CREATE TABLE inbox (
inbox_id INTEGER NOT NULL PRIMARY KEY,
inbox_send varchar(20) NOT NULL,
inbox_text TEXT NOT NULL,
inbox_time INTEGER UNSIGNED NOT NULL,
inbox_user varchar(20) NOT NULL
);");

$ins_query = "
INSERT INTO inbox (inbox_send, inbox_text, inbox_time, inbox_user) VALUES ('Ilia1', 'Message1', '".time()."', 'my_name');
INSERT INTO inbox (inbox_send, inbox_text, inbox_time, inbox_user) VALUES ('Ilia2', 'Message2', '".time()."', 'user');
INSERT INTO inbox (inbox_send, inbox_text, inbox_time, inbox_user) VALUES ('Ilia2', 'Message3', '".time()."', 'my_name');
";

$db->queryExec($ins_query);

//view all posts by my_name
$total = $db->singleQuery("SELECT count(*) FROM inbox WHERE inbox_user='my_name';");

echo $total;
// the result will be the number 2

/* P.S. sorry for my english */
?>
up down 0 roga at yoopee dot de14 years ago 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...*/
}
?>
add a note

官方地址:https://www.php.net/manual/en/function.sqlite-fetch-single.php

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net