speedphp使用pdo无法写入sqlite解决方法

#1 phpfans

昨天在使用speedphp的pdo方式操作sqlite数据库时,发现无法写入数据,在论坛搜索相关帖子,发现也有其他朋友有类似的问题,于是在论坛发布了求助帖,但是问题并没有解决,因为刚接触speedphp加上本身的PHP水平有限,今天又用了一上午的时间分析代码,好在终于实现了写入数据,把解决方法贴出来,供遇到同样问题的朋友做个参考。

解决方法:
在pdo.php中有个getTable($tbl_name)方法,是用来获取数据表结构的,
将它的 if (FALSE === strpos('[', $tmptable[0]['sql'])){
修改为:
if (FALSE === strpos($tmptable[0]['sql'],'[')){
问题解决。
根据strpos的函数说明,应该是
strpos("被搜索的字符",要查找的字符,开始位置)
但是原来的方法是将要查找字符放在第一位,造成最终无法获取字段而导致写入失败。
我不确定是否算 ,但是经过这样修改后,我的无法写入数据的问题解决了。

附上原来的的求助帖地址,方便朋友们一并参考http://bbs.speedphp.com/thread-1925-1-1.html

2011-10-10 13:43:56

#2 jake

好,感谢楼上的提醒。

2011-10-10 15:18:39

#3 jake

SVN更新,下载包稍候更新,再次感谢楼主。

PS:本帖将转移到 意见反馈 区。

2011-10-10 15:30:22

#4 jake

已加入下载。感谢楼主

2011-10-11 15:01:32