php+sqlite3问题,新手求解答!

conn.php
<?php
$db = "mysqlite/mysqlite.db";
$conn = new PDO('sqlite:' . $db) or die("ERROR: Cannot open database");
?>
function.php
<?
//函数名:getsinglecon($id,$tlong)
//作用:打印指定id的单页文章指定字数的纯文本内容
function getsinglecon_txt($id,$tlong){
$sql="select * from hope_company where id=".$id;
$rs=$conn->query($sql);
$row=$rs->fetch();
$contents=str_replace(' ','',strip_tags($row['content'],""));//去除所有的html、xml、php标记
if(mb_strlen($contents,'utf-8')>$tlong){
echo mb_substr($contents,0,$tlong,'utf-8')."...";
}
else{
echo $contents;
}
}
?>
demo.php
<?php require_once('conn.php'); ?>
<?php require_once('function.php'); ?>

<?=getsinglecon(1,100)?>
报错:Fatal error: Call to a member function getsinglecon_txt() on a non-object
in J:\wwwroot\201206\phpSQLiteWap\demo.php on line 15
为什么在demo里使用getsinglecon这个函数就报错?而直接把getsinglecon里面的部分直接放在demo页面中就可以正常显示?本人刚学,希望大家多指教!

第1个回答  2012-06-30
我有几个疑问,第一为啥子你demo.php里面非要这样来写三个<?php ?>来包住三句话,第二是你为啥<?=getsinglecon(1,100)?>又变成用短标签了,第三是为啥你上面的函数是getsinglecon_txt,但是调用的时候就变成了getsinglecon,第四报错是 demo的十五行的错误,但是照你这个代码demo只有四行。等你把上面的问题都解决了,我觉得要是再报错就天理不容了
第2个回答  2012-06-30
函数里的 $conn没有定义成全局变量
在 function中 添加 globe $conn本回答被提问者采纳
第3个回答  2012-07-03
一般php+mysql组合是最好的搭配!最好使用这个组合!

php+sqlite3问题,新手求解答!
=getsinglecon(1,100)?>又变成用短标签了,第三是为啥你上面的函数是getsinglecon_txt,但是调用的时候就变成了getsinglecon,第四报错是 demo的十五行的错误,但是照你这个代码demo只有四行。等你把上面的问题都解决了,我觉得要是再报错就天理不容了 ...

php 操作sqlite3的问题
这里应该是查询id=2的记录,函数fetchArray返回的是一个数组,该数组包含索引也包含字段名作为数组的key,也就是说$row[0]就相当于$row->id,$row[1]相当于$row->name。

PHP网站数据库sqlite问题
打开phpmyadmin 进到数据库里 然后找到你要清空的表 然后 有一个清空按钮 点一下就所有内容都清空了 这样 在从新 插入内容的时候 ID如果设置的是自动增长就会 从1开始 如果不想清空表里的内容 那就把表里的 所有ID值取出 一次改成 1 2 3 4 5就行了 ...

php操作sqlite sql语句执行两次的问题
回答:我觉得,你这个方法对插入并不适用啊。插入返回的没有结果集,只有成功与失败。那你执行之后,还去fetchArray() 。这个就不好了吧。插入的时候,不需要去取这个啊。你应该要判断一下传进来的SQL。如果是 SELECT 开头的,则执行这句。如果是非SELECT ,比如 INSERT UPDATE DELETE 那么就不需要去执行那...

php与sqlite的问题
db->singleQuery($query)是执行 class 里的 singleQuery方法,具体要看看你写的class代码,不关调用的事.最好能够贴出代码,好检查 sqlite_close($db)也一样,从前面看上去 $db 是一个对像,不能直接关闭对像吧?要关闭数据库连接,要在class里关,比如 $db->close(); 在class 里定义一个...

php 配置sqlite
,在PHP.ini添加extension=php_pdo.dllextension=php_pdo_sqlite.dllextension=php_sqlite.dllextension_dir = "C:\\Program Files\\Apache Group\\php5\\ext"2、在C:\\Program Files\\Apache Group\\php5\\ext保证有php_sqlite.dll,php_pdo_sqlite.dll,php_pdo.dll扩展库3、重启apache4、下载SQLite...

关于用php操作sqlite的一些小问题
只是为了提高性能,并没有其他特别的。数据库在执行查询以后,(如果配置了该选项)会将查询结果缓存下来,保存在内存或者硬盘。下次在执行同样的查询后直接返回缓存的内容,避免的再次查询数据库的工作,从而提高了性能。加上unbufferedQuery后就不存在读取和保存缓存的步骤而是直接查询数据库。

Linux 系统如何设置php对sqlite3的支持
1.下载源 wget http:\/\/www.sqlite.org\/sqlite-3.5.4.tar.gz tar zxvf sqlite-3.5.4.tar.gz cd sqlite-3.5.4 2.配置 .\/configure---配置环境 make--- 编译sqlite源码 make install---安装sqlite 若make的时候有发生找不到tcl相关的library时,可以利用下列指令:.\/configure –disable-...

PHP 操作 sqlite 时如何为 sqlite加密 和防止 用户下载数据库?_百度...
Sqlite数据库的加密1、创建空的sqlite数据库。\/\/数据库名的后缀你可以直接指定,甚至没有后缀都可以\/\/方法一:创建一个空sqlite数据库,用IO的方式FileStream fs = File.Create(“c:\\\\test.db“);\/\/方法二:用SQLiteConnectionSQLiteConnection.CreateFile(“c:\\\\test.db“);创建的数据库是个0字节...

php请问sqlite里面的sqlite3::exec和sqlite3::query有什么区别_百度知 ...
sqlite3_exec() 就是把提到的三个函数结合在了一起:sqlite3_step(), sqlite3_perpare(), sqlite3_finalize()。然后提供一个回调函数进行结果的处理。

相似回答
大家正在搜