#1 yuanjianhua
由于在项目中出现这样的问题:
INSERT INTO cbd_vote_subject (subject,ischeckbox,
addtime,fromdate,todate,
interval,enabled,description,listorder,allowguest,userid,maxval,minval,allowview,optionnumber,votenumber) VALUES ('您是通过那种方式知道这个网站的?','','1278302316','2010-07-05','2010-08-04','','1','您是通过那种方式知道这个网站的?','','1','1','','1','1','3','0')
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'interval,enabled,description,listorder,allowguest,userid,maxval,minval,allowview' at line 1
不知道能不在字段上加上比如:把
interval 改成`
interval`呢?
2010-07-05 12:53:05
#2 jake
使用runSql(SP2是query)来执行该SQL语句,引号等可以自行添加。create函数本身是遵循标准兼容SQL的,所以在函数内部不会添加这个。
2010-07-05 12:57:50
#3 yuanjianhua
回复 2 jake 啊?我当前版本是define('SP_VERSION', '3.0.21'); // 当前框架版本,为什么我用query也没错啊
2010-07-05 13:01:33
#4 jake
query在SP3也是保留的,只是建议使用runSql
2010-07-05 13:06:14
#5 yuanjianhua
哦,明白,我把create中的方法改下,加个``应该也行吧
2010-07-05 13:07:54
#6 jake
哦,明白,我把create中的方法改下,加个``应该也行吧
yuanjianhua 发表于 2010-7-5 13:07 
正常来说,开发者不应该修改框架内部文件。create内之所以不加入这个引号,主要是为了最好地兼容其他数据库的SQL语句,而且从SQL语句本身的限制而言,也不推荐使用SQL关键字作为字段名,一般应用程序都不会有这样的问题,毕竟那是不推荐的做法。
这里提供一个框架允许的高级修改功能,也就是MVC的继承,你可以做一个类继承于spModel,让这个类作为你全部其他model类的父类,如果哪个spModel的成员函数你需要进行特殊改动的,可以同这个父类来覆盖并重写。
2010-07-05 13:28:26