当前位置: 首页>>代码示例>>PHP>>正文


PHP sqlite_create_aggregate函数代码示例

本文整理汇总了PHP中sqlite_create_aggregate函数的典型用法代码示例。如果您正苦于以下问题:PHP sqlite_create_aggregate函数的具体用法?PHP sqlite_create_aggregate怎么用?PHP sqlite_create_aggregate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了sqlite_create_aggregate函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: init

 /**
  * Initializes and opens the database
  *
  * Needs to be called right after loading this helper plugin
  */
 function init($dbname, $updatedir)
 {
     global $conf;
     // check for already open DB
     if ($this->db) {
         if ($this->dbname == $dbname) {
             // db already open
             return true;
         }
         // close other db
         sqlite_close($this->db);
         $this->db = null;
         $this->dbname = '';
     }
     $this->dbname = $dbname;
     $dbfile = $conf['metadir'] . '/' . $dbname . '.sqlite';
     $init = !@file_exists($dbfile) || (int) @filesize($dbfile) < 3;
     $error = '';
     $this->db = sqlite_open($dbfile, 0666, $error);
     if (!$this->db) {
         msg("SQLite: failed to open SQLite " . $this->dbname . " database ({$error})", -1);
         return false;
     }
     // register our custom aggregate function
     sqlite_create_aggregate($this->db, 'group_concat', array($this, '_sqlite_group_concat_step'), array($this, '_sqlite_group_concat_finalize'), 2);
     $this->_updatedb($init, $updatedir);
     return true;
 }
开发者ID:kosenconf,项目名称:kcweb,代码行数:33,代码来源:helper.php

示例2: process

 protected function process()
 {
     array_map(array($this, 'usedWithThisMethod'), $b);
     array_filter($array, array('A', 'usedStaticallyInArrayMethod'));
     preg_replace_callback('regex', $variable, 'A::usedStaticallyInStringMethod');
     sqlite_create_aggregate('handler0', 'handler1', 'handler2', array('A::undefinedMethod'));
 }
开发者ID:exakat,项目名称:exakat,代码行数:7,代码来源:UsedMethods.04.php

示例3: createAggregate

 public function createAggregate($queryFuction, $stepFunction, $finalizeFunction, $args)
 {
     if (!$args) {
         sqlite_create_aggregate($this->handle, $queryFuction, $stepFunction, $finalizeFunction);
     } else {
         sqlite_create_aggregate($this->handle, $queryFuction, $stepFunction, $finalizeFunction, $args);
     }
     return true;
 }
开发者ID:jankuca,项目名称:escms,代码行数:9,代码来源:sqlite2.type.php

示例4: opendb

 /**
  * open db
  */
 public function opendb($init, $sqliteupgrade = false)
 {
     if ($this->isSqlite3db($this->dbfile)) {
         msg("SQLite: failed to open SQLite '" . $this->dbname . "' database (DB has a sqlite3 format instead of sqlite2 format.)", -1);
         return false;
     }
     $error = '';
     $this->db = sqlite_open($this->dbfile, 0666, $error);
     if (!$this->db) {
         msg("SQLite: failed to open SQLite '" . $this->dbname . "' database ({$error})", -1);
         return false;
     }
     // register our custom aggregate function
     sqlite_create_aggregate($this->db, 'group_concat', array($this, '_sqlite_group_concat_step'), array($this, '_sqlite_group_concat_finalize'), 2);
     return true;
 }
开发者ID:omusico,项目名称:isle-web-framework,代码行数:19,代码来源:adapter_sqlite2.php

示例5: registerAggregateFunction

 /**
  * Registers an aggregating user defined function for use in SQL statements.
  * @param  string  function name
  * @param  mixed   callback called for each row of the result set
  * @param  mixed   callback called to aggregate the "stepped" data from each row
  * @param  int     num of arguments
  * @return void
  */
 public function registerAggregateFunction($name, $rowCallback, $agrCallback, $numArgs = -1)
 {
     sqlite_create_aggregate($this->connection, $name, $rowCallback, $agrCallback, $numArgs);
 }
开发者ID:Scrik,项目名称:Need-For-Speed-World-Statistics-Website,代码行数:12,代码来源:sqlite.php

示例6: init

 /**
  * Initializes and opens the database
  *
  * Needs to be called right after loading this helper plugin
  */
 function init($dbname, $updatedir)
 {
     global $conf;
     // check for already open DB
     if ($this->db) {
         if ($this->dbname == $dbname) {
             // db already open
             return true;
         }
         // close other db
         if ($this->extension == DOKU_EXT_SQLITE) {
             sqlite_close($this->db);
         } else {
             $this->db->close();
         }
         $this->db = null;
         $this->dbname = '';
     }
     $this->dbname = $dbname;
     // Separate the database files to prevent not-requested autoupgrades.
     if ($this->extension == DOKU_EXT_SQLITE) {
         $fileextension = '.sqlite';
     } else {
         $fileextension = '.sqlite3';
     }
     $this->dbfile = $conf['metadir'] . '/' . $dbname . $fileextension;
     $init = !@file_exists($this->dbfile) || (int) @filesize($this->dbfile) < 3;
     //first line tell the format of db file http://marc.info/?l=sqlite-users&m=109383875408202
     $firstline = @file_get_contents($this->dbfile, false, null, 0, 15);
     if ($this->extension == DOKU_EXT_SQLITE) {
         if ($firstline == 'SQLite format 3') {
             msg("SQLite: failed to open SQLite '" . $this->dbname . "' database (DB has a sqlite3 format instead of sqlite2 format.)", -1);
             return false;
         }
         $error = '';
         $this->db = sqlite_open($this->dbfile, 0666, $error);
         if (!$this->db) {
             msg("SQLite: failed to open SQLite '" . $this->dbname . "' database ({$error})", -1);
             return false;
         }
         // register our custom aggregate function
         sqlite_create_aggregate($this->db, 'group_concat', array($this, '_sqlite_group_concat_step'), array($this, '_sqlite_group_concat_finalize'), 2);
     } else {
         if ($init) {
             $oldDbfile = substr($this->dbfile, 0, -1);
             if (@file_exists($oldDbfile)) {
                 $notfound_msg = "SQLite: '" . $this->dbname . $fileextension . "' database not found. In the meta directory is '" . $this->dbname . substr($fileextension, 0, -1) . "' available. ";
                 $firstline = @file_get_contents($oldDbfile, false, null, 0, 15);
                 if ($firstline == 'SQLite format 3') {
                     msg($notfound_msg . "PDO sqlite needs you rename manual the file extension to '.sqlite3' .", -1);
                     return false;
                 } else {
                     msg($notfound_msg . "PDO sqlite needs you upgrade manual this sqlite2 db to sqlite3 format.", -1);
                     return false;
                 }
             }
         } else {
             if ($firstline != 'SQLite format 3') {
                 msg("SQLite: failed to open SQLite '" . $this->dbname . "' database (DB has not a sqlite3 format.)", -1);
                 return false;
             }
         }
         $dsn = 'sqlite:' . $this->dbfile;
         try {
             $this->db = new PDO($dsn);
         } catch (PDOException $e) {
             msg("SQLite: failed to open SQLite '" . $this->dbname . "' database (" . $e->getMessage() . ")", -1);
             return false;
         }
         $this->db->sqliteCreateAggregate('group_concat', array($this, '_pdo_group_concat_step'), array($this, '_pdo_group_concat_finalize'));
     }
     $this->_updatedb($init, $updatedir);
     return true;
 }
开发者ID:stretchyboy,项目名称:sqlite,代码行数:79,代码来源:helper.php

示例7: sqlitem_create_aggregate

function sqlitem_create_aggregate($dhb, $function_name, $step_func, $finalize_func, $num_args = null)
{
    return sqlite_create_aggregate($dhb, $function_name, $step_func, $finalize_func, $num_args);
}
开发者ID:jaketay,项目名称:raspberry_pi,代码行数:4,代码来源:sqlite2.inc.php

示例8: create_aggregate

 function create_aggregate($function_name, $step_func, $finalize_func, $num_args = null)
 {
     if (DEBUG) {
         return sqlite_create_aggregate($this->connId, $function_name, $step_func, $finalize_func, $num_args);
     } else {
         return @sqlite_create_aggregate($this->connId, $function_name, $step_func, $finalize_func, $num_args);
     }
 }
开发者ID:ve3sjk,项目名称:45Farms-YieldBuddy-Merged,代码行数:8,代码来源:sqlite_2.class.php

示例9: makedb

<?php

require 's_common.inc';
$db = makedb();
sqlite_create_function($db, 'md5rev', 'md5_and_reverse', 1);
sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');
// generic php callback
$rows = sqlite_array_query($db, "SELECT php('md5', my_string) from mytable");
var_dump($rows);
$rows = sqlite_array_query($db, "SELECT php('max', my_float, 2) from mytable");
var_dump($rows);
// callback error
$rows = sqlite_array_query($db, "SELECT php('unknown', my_string) from mytable");
var_dump($rows);
/// PHP UDF
function md5_and_reverse($string)
{
    echo "in callback, original string is {$string}\n";
    return strrev(md5($string));
}
$sql = 'SELECT md5rev(my_string) FROM mytable';
$rows = sqlite_array_query($db, $sql);
var_dump($rows);
/// aggregate
$data = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
    $str = sqlite_escape_string($str);
    sqlite_query($db, "INSERT INTO strings VALUES ('{$str}')");
}
function max_len_step(&$context, $string)
开发者ID:jenalgit,项目名称:roadsend-php,代码行数:31,代码来源:callbacks.php

示例10: assert

<?php

// #0
assert(array('a', 'b'));
// #1
uasort($array, array($c, 'd'));
// #2
preg_replace_callback($s, $ss, array($e, 'f'));
// #3
sqlite_create_aggregate($a1, $a2, $a3, array($g, '$h'));
// #4
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, array($sssh4, 'sssh4'));
// #5
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, array($sssh5, 'sssh5'));
// #6
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, $sssh5, array($sssh6, 'sssh6'));
// #7
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, $sssh5, $sssh6, array($sssh7, 'sssh7'));
// 2nd to last arg
array_udiff_uassoc($a1, $a2, $a3, array($i, 'j'), $last);
// last arg
array_udiff($a1, $a2, $a3, array($k, 'l'));
开发者ID:exakat,项目名称:exakat,代码行数:22,代码来源:MarkCallable.05.php

示例11: most_similar

<?php

function most_similar(&$context, $string, $source_str)
{
    /* Calculate the similarity between two strings */
    $sim = similar_text($string, $source_str);
    if (empty($context) || $sim > $context['sim']) {
        $context = array('sim' => $sim, 'title' => $string);
    }
}
function most_similar_finalize(&$context)
{
    return $context['title'];
}
$db = sqlite_open(dirname(__FILE__) . "/db2.sqlite");
/* bool sqlite_create_aggregate (resource dbhandle, string function_name, mixed step_func, mixed finalize_func [, int num_args]) */
sqlite_create_aggregate($db, 'similar_text', 'most_similar', 'most_similar_finalize', 2);
$title = 'mesg #2';
echo "Most Similar title to '{$title}' according to similar_text() is: ";
echo sqlite_single_query("SELECT similar_text(title, '{$title}') FROM messages", $db);
echo "<br />\n";
开发者ID:SandyS1,项目名称:presentations,代码行数:21,代码来源:phpsql2.php

示例12: assert

<?php

// #0
assert(['a', 'b']);
// #1
uasort($array, [$c, 'd']);
// #2
preg_replace_callback($s, $ss, [$e, 'f']);
// #3
sqlite_create_aggregate($a1, $a2, $a3, [$g, '$h']);
// #4
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, [$sssh4, 'sssh4']);
// #5
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, [$sssh5, 'sssh5']);
// #6
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, $sssh5, [$sssh6, 'sssh6']);
// #7
session_set_save_handler($sssh0, $sssh1, $sssh2, $sssh3, $sssh4, $sssh5, $sssh6, [$sssh7, 'sssh7']);
// 2nd to last arg
array_udiff_uassoc($a1, $a2, $a3, [$i, 'j'], $last);
// last arg
array_udiff($a1, $a2, $a3, [$k, 'l']);
开发者ID:exakat,项目名称:exakat,代码行数:22,代码来源:MarkCallable.04.php

示例13: array_map

<?php

array_map('callableString', $array);
call_user_func($array, 'nonCallableString');
//array_map($array, $nonCallableVar);
array_filter($array, array('string', 'string'));
array_reduce(array('string', 'string'), $array);
preg_replace_callback('a', 'b', 'MyClass::myCallbackMethod');
sqlite_create_function('MyClass::myNonCallbackMethod', $b, $c);
sqlite_create_aggregate($a, 'MyClass2::myNonCallbackMethod', $c);
开发者ID:exakat,项目名称:exakat,代码行数:10,代码来源:MarkCallable.01.php

示例14: create_aggregate

 /**
  * 集約UDFを登録する(sqlite_create_aggregate()ラッパー)。
  */
 function create_aggregate($function_name, $step_func, $finalize_func, $num_args = null)
 {
     if ($num_args === null) {
         return sqlite_create_aggregate($this->link, $function_name, $step_func, $finalize_func);
     } else {
         return sqlite_create_aggregate($this->link, $function_name, $step_func, $finalize_func, $num_args);
     }
 }
开发者ID:riaf,项目名称:kinowiki,代码行数:11,代码来源:database.inc.php


注:本文中的sqlite_create_aggregate函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。