0%

limit关键字后不能带参数,但还是有解决方法:使用PREPARE。

set @dd=concat('select * from temp limit ',startPoint,',',pageMax);
PREPARE stmt1 FROM @dd;
EXECUTE stmt1;
deallocate prepare stmt1;

concat方法是将字符串连接,即在这里生成SQL语句。

数据库配置在APP_PATH下的config目录下的config.php中:

return array (
        'DB_TYPE' => 'mysql',
        'DB_HOST'=>'localhost',
        'DB_NAME' =>'college',
        'DB_USER'=>'root',
        'DB_PWD'=>'',
        'DB_PREFIX'=>'',
);

需要注意的是,BD_PREFIX,是表前缀,必须配置,否则默认为think,找不到表。有时候,配置了上面的信息不起作用,比如说,我明明配置了DB_PREFIX为空,但是dump Mode发现还是有默认的think_前缀,这是因为有缓存,把Runtime目录清空再试。

到了3.0版本,默认情况下,即使打开debug模式,也不会显示Trace信息.另外,开启Debug模式方法有些变化。 开启Debug方法,在入口文件中定义常量

define('APP_DEBUG',true);

2.0好像是在config.php文件中. 开启Trace信息方法,在APP_PATH下的config目录中的config.php文件中,给返回的数组增加一个元素:

'SHOW_PAGE_TRACE' =>true

函数中的使用:

BEGIN
    declare result tinyint;
    set result=0;
    if period=0 then
        if date=periodData then
            set result=1;
        end if;
    elseif period=1 then
        set result=1;
    elseif period=2 then
        if WEEKDAY(date)+1=periodData then
            set result=1;
        end if;
    elseif period=3 then
        if DAYOFMONTH(date)=periodData then
            set result=1;
        end if;
    end if;
    RETURN result;
END

创建存储过程,我用的是Navicat,用PHPMyadmin老是报莫名其妙的错误,郁闷。 创建方法:打开目标数据库,在”函数”上点右键,New Function,类型选“进程”,设置参数,我这两个IN模式,bigint类型的参数,一个startUnix,一个endUnix.传入两个unix时间戳. 这个范例的目标是,根据传入的两个时间之间的时间段,输出这个时间段内的日期,传入时间都是某天的零点。 创建一个临时表,把计算出来的日期添加进这个表中。 定义代码:

BEGIN
declare tempdate date;
declare startdate date;
declare enddate date;
set enddate=DATE_FORMAT(FROM_UNIXTIME(endUnix),'%Y-%m-%d');
set startdate=DATE_FORMAT(FROM_UNIXTIME(startUnix),'%Y-%m-%d');
set tempdate=date_add(startdate,interval 1 day);
create temporary table temp select startdate as Date;
while tempdate

不需要写create PROCEDURE,因为navicat会帮我们干。 保存后会提示输入存储过程的名字,我这填createDateTable. 运行:call createDateTable(1335628800,1339257600) 运行结果,显示2012-04-29到2012-06-09.

估计是装了太多插件,我原来用的Eclipse非常卡了,修改一行代码,保存都要半分钟,所以今天重新装了一下,当然ADT是在线安装的最新版本。所需插件全部装好后,编译运行原来的项目,发现可以编译通过却无法运行,logcat里报java.lang.NoClassDefFoundError: XXX.XXX 明显说是找不到类,该类是一个第三方包里的,我确定已经加进Build Path里了。经搜索,发现最新 ADT,要求所有外部jar文件必须放在项目下的libs目录内。经上述处理后,解决。

今天发现,用json_encode把一个对象转换成json代码时,没有任何返回。找了很久,发现问题出在我定时类属性时,把属性声明成了private,private只有在内部才能访问,所以必须改成public或者默认var

在初始化swfupload时,仅把upload_url写成远程服务器的URL,是无法跨域上传的,还需要把swfupload.swf也复制到远程服务器,flash_url改成远程服务器上swfupload.swf的URL,最后加上 prevent_swf_caching : false, preserve_relative_urls : false