虾米窝窝 » PHP&MySQL
Subscribe RSS

"PHP&MySQL"分类的文章

关于数据库索引 05月 20

     大家一定要注意啊,不能对索引掉以轻心哦。最近我就在这个问题上吃亏吃大了。

    有一条SQL: SELECT [Qudao].[NODE_ID] AS [Qudao__0], [Qudao].[PARENT_NODE_ID] AS [Qudao__1], [gQudao].[NODE_NAME] AS [Qudao__2] FROM [QUDAO] AS [Qudao] WHERE [PARENT_NODE_ID] = 0

    这条SQL是由CakePHP产生的,如此一条简单的SQL的执行情况如下:Num rows : 1,  Took (ms) :25625。很恐怖吧,也许有人会想这个表里的数据量一定很大吧,要不怎么话费了如此恐怖的25秒多?让人大跌眼镜的是这个表里只有区区的2000条数 据。也由于这个SQL的原因导致我页面慢的快不行了,我还一直以为是我程序出问题了,害我到处找问题。从来也没有意识到过是数据表索引的问题,以为这个表 的数据太少了,二强被查询的对比字段也是一个int型的,查询起来英爱是很快的。直到后来在调试其它地方的时候一不小心看到输出的SQL输出才知道问题在 这里!

   在我的印象之中好像是索引在数据量很大,又或者是筛选字段是char类型的话才需要索引,又是想当然的经验主义害人啊!

   加上索引之后速度唰一下上来了,这个SQL只花了几毫秒!

分类: PHP&MySQL  | 标签: ,  | 暂无留言 | 287次阅读
cos_slug_converter插件导致Feed出错 03月 31

     一开始我都不知道有这个问题,今天同事在MSN上告诉我我博客Feed有问题,我一看,蒙了,Feed怎么把CSS给调进来了?


     我查了一下wp-feed代码,发现没有问题啊,真是怪了。实在没有办法了,来个硬盘文件搜索,哈哈,一下子找到罪魁祸首了。

分类: PHP&MySQL  | 标签: , , ,  | 暂无留言 | 477次阅读
MIME类型导致css在Firefox下无效 03月 18

     最近郁闷的很,原因是Firefox出问题了,无法正确的载入CSS,CSS完全失效,让我无法测试很多东西。

     查看CSS路径,完全是正确的,也是用的标准的<link rel="stylesheet" type="text/css" href="XXX" />的写法。但是在我公司的工作机器上老是有问题,页面看起来像是CSS完全失效了,而IE、Safari之类的则是完全正常,重装FF也是如此, 搞的我都快发疯了。
    
     今天突然想到Apache也有MIME设置,是不是这个问题呢?然后我在配置文件里面一搜,终于发现问题所在了:N久以前的一个项目用的是动态生成的 CSS,所以将CSS后缀的请求用PHP解析响应了:AddType application/x-httpd-php .css。把这个去掉就可以了。

分类: PHP&MySQL  | 标签: , , ,  | 暂无留言 | 1021次阅读
CakePHP中文版CHM手册 02月 27

网上找了好久都没有CHM版的中文手册,索性自己编译了一份,有需要的就自己下咯.

下载地址: http://yakelie.com/wp-content/uploads/2009/02/CakePHP_Handbook_zh.CHM

分类: PHP&MySQL  | 标签: , , , , ,  | 暂无留言 | 1272次阅读
笔记:MySQL迁移到MSSQL 02月 25

     最近一个项目是基于discuz的东西做二次开发,总所周知,Discuz的东西是那个猛啊,完全是面向过程的写法,不过效率超级高,完全是 PHP+MySQL的经典之作,但是......这个客户以前的系统用的是MSSQL,他要我们把Discuz从MySQL迁移到MSSQL,那个囧啊。
     要知道俺已经不用MSSQL很多年了,印象中还停留在SQL Server2000上,现在是要重新学一下2005了。
     鉴于这个迁移很有挑战性,我觉得很有必要把途中遇到的东西记录下来,并不断更新,方便自己和需要的同学用。
    下面开始了:

一、数据库迁移规则
1. SQL Server不支持UTF-8,多国语言字段请使用unicode的nchar, nvarchar类型。
2. MySQL中的smallint值范围是0~65535,SQL Server中换用int值范围(-2,147,483,648)到(2,147,483,647)
3. MySQL中的mediumint值范围是0~16777215,SQL Server中换用int值范围(-2,147,483,648)到(2,147,483,647)

分类: PHP&MySQL  | 标签: , , , ,  | 暂无留言 | 799次阅读
使用FLEA_Session_Db统计在线人数 02月 06

首先是建立一个新表,结构如下:
sess_id     varchar(64)     存储 session id
sess_data   text            存储 session 数据
activity    int(11)         该 session 最后一次读取/写入时间

然后 修改应用程序设置 sessionProvider 为 FLEA_Session_Db。
在应用程序中就可以使用下面的代码查询在线人数。
$session_db = FLEA::getSingleton('FLEA_Session_Db');
echo '在线人数: ', $session_db->getOnlineCount();

getOnlineCount() 方法可以带一个 $lifetime 参数,指示最近多少秒之内有过活动的用户才算在线。如果不指定这个参数就按照服务器的 php.ini 设置来判断。所以用 getOnlineCount(60 * 5) 就可以知道最近5分钟的在线人数。

分类: PHP&MySQL  | 标签: , , , ,  | 暂无留言 | 221次阅读
转:让PHP支持页面回退的两种方法 12月 04

 在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。
第一,使用Header方法设置消息头Cache-control

PHP代码
  1. header('Cache-control: private, must-revalidate');  //支持页面回跳   

第二,使用session_cache_limiter方法

分类: PHP&MySQL  | 标签: ,  | 暂无留言 | 377次阅读
PHP中的empty,is_null,is_set函数 11月 18

今天在判断一个表单穿过来的数字值,用了empty(),后来发现当值为0的时候empty()判断为true,我本意是判断这个值存不存在的。看来这几个函数不能乱用啊.....

在网上找到一个这几个函数的详细对比,贴一下:

Empty,NULL,UnSet 和 Flase的区别与比较

Expression gettype() empty() is_null() isset() boolean : if($x)
$x = “”; string TRUE FALSE TRUE FALSE
$x = NULL NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
$x = -1; integer FALSE FALSE TRUE TRUE
$x = “1″; string FALSE FALSE TRUE TRUE
$x = “0″; string TRUE FALSE TRUE FALSE
$x = “-1″; string FALSE FALSE TRUE TRUE
$x = “php”; string FALSE FALSE TRUE TRUE
$x = “true”; string FALSE FALSE TRUE TRUE
$x = “false”; string FALSE FALSE TRUE TRUE

分类: PHP&MySQL  | 标签: , , ,  | 暂无留言 | 298次阅读
htmlentities函数导致中文乱码 10月 27

      这个乱码问题已经烦了一两天了,搞的我烦躁异常,我已经都racking my brain了还是不行.......

      以前一直没有定位到函数的问题。发现这个问题是在我在做一个汉化工作的时候。语音文件是用php写的数组,一般来讲这种工作很好做,只要将原始的语言文件翻译成另外一种语音的就好了,然后再注意一下文件编码之类的。可是这次不行了,估计是我局限思维了,就只想到了编码问题,太嫩了啊!

      今天突然看到在模板输出了的时候通过一系列的关联然后调用了htmlentities()函数,我感觉到这里有问题。于是在调用前输出一下需要转换的字符串,哈哈,果然没错!

分类: PHP&MySQL  | 标签: , , , ,  | 暂无留言 | 451次阅读
俺的收藏:一些开源php程序的类图 10月 24

WordPress 2.2.1

分类: PHP&MySQL  | 标签: , , ,  | 1条留言 | 621次阅读