开发者社区> 问答> 正文

CodeIgniter3 连接sqlite3问题?报错

我的数据库配置

PHP 复制代码
 
$db [ 'sqlite_db' ]  =  array (
         'dsn'    =>  '' ,
         'hostname'  =>  '' ,
         'username'  =>  '' ,
         'password'  =>  '' ,
         'database'  =>  realpath ( "./sqlite.db" ) ,
         'dbdriver'  =>  'sqlite' ,
         'dbprefix'  =>  '' ,
         'pconnect'  =>  FALSE ,
         'db_debug'  =>  TRUE ,
         'cache_on'  =>  FALSE ,
         'cachedir'  =>  '' ,
         'char_set'  =>  'utf8' ,
         'dbcollat'  =>  'utf8_general_ci' ,
         'swap_pre'  =>  '' ,
         'encrypt'  =>  FALSE ,
         'compress'  =>  FALSE ,
         'stricton'  =>  FALSE ,
         'failover'  =>  array ( ) ,
         'save_queries'  =>  TRUE
) ;
 
 
复制代码



C
PHP 复制代码
 
                 $dbA  =  $this -> load -> database ( 'sqlite_db' ,  TRUE ) ;
                
                 $a = $dbA -> query ( "select * from user" ) ;
                
                 print_r ( $db ) ;
 
 
复制代码


报错:   Call to undefined function sqlite_open() in


网上查的时候看到有可能是php配置问题。我的phpinfo:


PDO
PDO support
enabled
PDO drivers mysql, sqlite


pdo_sqlite
PDO Driver for SQLite 3.x
enabled
SQLite Library 3.7.7.1


sqlite3
SQLite3 support
enabled
SQLite3 module version 0.7
SQLite Library 3.7.7.1

Directive
Local Value
Master Value
sqlite3.extension_dir no value no value



各位老师多帮忙~  谢谢

展开
收起
爱吃鱼的程序员 2020-06-14 14:47:01 711 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    需要使用时,数据库驱动用sqlite3,如下
    $db['default']['dbdriver']="sqlite3"; 
    数据库设置需要加入“sqlite:”前缀,如下:
    $db['default']['database']='sqlite:'.realpath('./system/application/models/database/myweb.sdb'); 
    接下来就是正常的使用。<divclass="kindeditor_paste">需要使用时,数据库驱动用sqlite3,如下

    $db['default']['dbdriver']="sqlite3"; 

    数据库设置需要加入“sqlite:”前缀,如下:

     $db['default']['database']='sqlite:'.realpath('./system/application/models/database/myweb.sdb'); 

    接下来就是正常的使用。

    php高一点的版本不支持sqlite。

    sqlite_open(PHP5<5.4.0,PECLsqlite>=1.0.0)

    你使用sqlite3版本的函数吧。 'dbdriver'=>'sqlite3',
    <divclass='ref'>

    引用来自“mickelfeng”的评论

    php高一点的版本不支持sqlite。

    sqlite_open(PHP5<5.4.0,PECLsqlite>=1.0.0)

    你使用sqlite3版本的函数吧。 'dbdriver'=>'sqlite3',

    sqlite3,重启webserver

    <divclass='ref'>

    引用来自“mickelfeng”的评论

    sqlite3,重启webserver

    <divclass='ref'>

    引用来自“mickelfeng”的评论

    需要使用时,数据库驱动用sqlite3,如下
    $db['default']['dbdriver']="sqlite3"; 
    数据库设置需要加入“sqlite:”前缀,如下:
    $db['default']['database']='sqlite:'.realpath('./system/application/models/database/myweb.sdb'); 
    接下来就是正常的使用。 <divclass=" kindeditor_paste">需要使用时,数据库驱动用sqlite3,如下

    $db['default']['dbdriver']="sqlite3"; 

    数据库设置需要加入“sqlite:”前缀,如下:

     $db['default']['database']='sqlite:'.realpath('./system/application/models/database/myweb.sdb'); 

    接下来就是正常的使用。

    2020-06-14 14:47:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
微信SQLite数据库损坏恢复实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载