#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