heredoc和注释的灵活运用
» 阅读全文
Submitted by 淡水河边 on 2008, January 27, 9:58 PM
heredoc和注释的灵活运用
» 阅读全文
Submitted by 淡水河边 on 2008, January 27, 9:52 PM
数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。
选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对RDBMS的数据类型选择应给予足够的重视。
这就是编写本文的主要目的。表A将列举了MySQL支持的绝大部分重要的数据类型,而MySQL是当前最为流行的免费RDBMS。文中还描述了何时与如何使用这些数据类型。这将有助于建立一个数据库的合理设计。
表 A
|
数据类型 |
描述 |
字节 |
推荐使用 |
|
SMALLINT |
整数,从-32000到 +32000范围 |
2 |
存储相对比较小的整数。 比如: 年纪,数量 |
|
INT |
整数,从-2000000000 到 +2000000000 范围 |
4 |
存储中等整数 例如: 距离 |
|
BIGINT |
不能用SMALLINT 或 INT描述的超大整数。 |
8 |
存储超大的整数 例如: 科学/数学数据 |
|
FLOAT |
单精度浮点型数据 |
4 |
存储小数数据 例如:测量,温度 |
|
DOUBLE |
双精度浮点型数据 |
8 |
需要双精度存储的小数数据 例如:科学数据 |
|
DECIMAL |
用户自定义精度的浮点型数据 |
变量;取决于精度与长度 |
以特别高的精度存储小数数据。 例如:货币数额,科学数据 |
|
CHAR |
固定长度的字符串 |
特定字符串长度(高达255字符) |
存储通常包含预定义字符串的变量 例如: 定期航线,国家或邮编 |
|
VARCHAR |
具有最大限制的可变长度的字符串 |
变量; 1 + 实际字符串长度 (高达 255 字符) |
存储不同长度的字符串值(高达一个特定的最大限度). 例如:名字,密码,短文标签 |
|
TEXT |
没有最大长度限制的可变长度的字符串 |
Variable; 2 +聽 actual string length |
存储大型文本数据 例如: 新闻故事,产品描述 |
|
BLOB |
二进制字符串 |
变量;2 + 实际字符串长度 |
存储二进制数据 例如:图片,附件,二进制文档 |
|
DATE |
以 yyyy-mm-dd格式的日期 |
3 |
存储日期 例如:生日,产品满期 |
|
TIME |
以 hh:mm:ss格式的时间 |
3 |
存储时间或时间间隔 例如:报警声,两时间之间的间隔,任务开始/结束时间 |
|
DATETIME |
以yyyy-mm-ddhh:mm:ss格式结合日期和时间 |
8 |
存储包含日期和时间的数据 例如:提醒的人,事件 |
|
TIMESTAMP |
以yyyy-mm-ddhh:mm:ss格式结合日期和时间 |
4 |
记录即时时间 例如:事件提醒器,“最后进入”的时间标记 |
|
YEAR |
以 yyyy格式的年份 |
1 |
存储年份 例如:毕业年,出生年 |
|
ENUM |
一组数据,用户可从中选择其中一个 |
1或 2个字节 |
存储字符属性,只能从中选择之一 例如:布尔量选择,如性别 |
|
SET |
一组数据,用户可从中选择其中0,1或更多。 |
从1到8字节;取决于设置的大小 |
存储字符属性,可从中选择多个字符的联合。 例如:多选项选择,比如业余爱好和兴趣。 |
对于一个完整的列表和详细描述,可以查看MySQL manual。你也可以阅读文章Choosing the Right Type for a Column。
from:http://www.aslibra.com/blog/read.php?370
Submitted by 淡水河边 on 2008, January 27, 9:50 PM
FAQ中文版
» 阅读全文
Submitted by 淡水河边 on 2008, January 25, 9:29 PM
哈哈,不需要什么设置了
只要用svn到最近版本就ok了
在config的database.php多了
淡水正好用utf8,不用再改了.
Submitted by 淡水河边 on 2008, January 19, 11:48 AM
Submitted by 淡水河边 on 2008, January 17, 9:16 AM
Submitted by 淡水河边 on 2008, January 14, 8:06 PM
如果需要做网址转向,一般上在 php 用 header() 实现的转向是 302:
301 及 302 同样可以做到网址的转向,但分别在于 301 是永久的转向,而 302 是暂时性质的转向。这个分别对于使用者来说是没有分别的,但对于 search engine 就有分别了。Google 推荐网站管理员当转换网址时用 301 转向。而以下分别是透过 .htaccess、PHP 及 ASP 实现 301 转向的方法,而假设新 domain 是 newdomain.com:
.htaccess
在网站的根目录建立一个 .htaccess 档案,并加入以下内容:
RewriteEngine On
RewriteRule ^(.*)$ http://www.newdomain.com/ [R=301,L]
PHP
在 index.php 的最顶加入以下几行:
ASP
在 index.asp 或 default.asp 的最顶加入以下几行:
Submitted by 淡水河边 on 2008, January 14, 7:32 PM
PHP 内建的 substr 函式可以分割文字,但要分割的文字如果包括有中文字往往会遇到问题,这可以用 mb_substr() 来做。mb_substr() 的用法与 substr() 很相似,只是在 mb_substr() 最后要加入多一个参数,以设定字符串的编码,但要先让 PHP 支援 mbstring 才可以。
在编译 PHP 时加入 --enable-mbstring 选择就可以加入 mbstring 模块了。以下是 mb_substr() 的使用方法:
以上的第三行要注意,将 gb2312 修改成中文字所用的编码,例如 UTF-8。淡水牢骚:国内多数idc都是windows的系统,而且好多函数不支持.
Submitted by 淡水河边 on 2008, January 14, 7:25 PM
在 PHP 内用 mail() 发出邮件时,如果没有指定 Return Path,系统便会以预设的电邮地址代替 (例如 admin@localhost 这类)。以下是一个常见的错误:
以上设定了所发出的邮件的 From 内容,但这是不够的,只要查看所发出邮件的 header,会发现有一个 Return-Path 显示系统的预设电邮。因为现时 spam 非常猖獗,很多 email server 会这类 email 档掉或者标示成 spam,将以上程序码改成这档便可以避免这个问题:
Submitted by 淡水河边 on 2008, January 12, 10:09 AM
又是来自咕噜咕噜。为什么要压缩js文件?很明显,压缩后,文件个头小了,下载就快了,网页也就能在更短的时间内呈现在我们的面前,正常情况下,gzip对js的压缩比能达到3:1左右,以ext-all.js为例,源文件大小:463k,经过gzip压缩后的个头为125k,几乎到了4:1。
假设将上面的代码存储为ext-all.php
那么引用的时候只需
就能实现对ext-all.js的压缩,当然前提是服务端支持zlib。