/*
原表:
thid other
a 1
a 1
b 0
b 0
b 0
c 2
c 2
希望变成:
thid other
a 1
a 2
b 0
b 1
b 2
c 2
c 3
*/
if OBJECT_ID(' ......
主键:
能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码(主键)。 一个主键是唯一识别一个表的每一记录,但这只是其作用的一部分,主键的主要作用是将记录和存放在其他表中的数据进行关联。在这一点上,主键是不同表中各记录之间的简单指针。主键约束就是确定表中的每一条记录。主键不能是空值。唯一约束是用于指定一个或多个列的组合值具有惟一性,以防止在列中输入重复的值。所以,主键的值对用户而言是没有什么意义,并且和它要赋予的值也没有什么特别的联系。
外键:
若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键。外键约束主要用来维护两个表之间数据的一致性。
A为基本表,B为信息表 ......
4.1 块注释
块注释通常用于提供对文件,方法,数据结构和算法的描述。块注释被置于每个文件的开始处以及每个方法之前。它们也可以被用于其他地方,比如方法内部。在功能和方法内部的块注释应该和它们所描述的代码具有一样的缩进格式。
块注释之首应该有一个空行,用于把块注释和代码分割开来,比如:
/*
* 这里是块注释
*/
块注释可以以/*-开头,这样indent(1)就可以将之识别为一个代码块的开始,而不会重排它。
/*-
* 如果想被忽略,可是使用特别格式的块注释
*
* one
* two
* three
*/
注意:如果你不使用indent(1),就不必在代码中使用/*-,或为他人可能对你的代码运行indent(1)作让步。
4.2 单行注释
短注释可以显示在一行内,并与其后的代码具有一样的缩进层级。如果一个注释不能在一行内写完,就该采用块注释。单行注释之前应该有一个空行。以下是一个代码中单行注释的例子:
if (condition) {
/* 以下代码运行的条件 */
...
}
4.3 尾端注释
极短的注释可以与它们所要描述的代码位于同一行,但是应该有足够的空白来分开代码和注释。若有多个短注释出现于大段代码中,它们应该具有相同的缩进。
以下是一个代码中尾端注释的例子:
if ......
PHP安装配置说明
一、软件下载
PHP5.3.0:http://cn2.php.net/get/php-5.3.0.tar.gz/from/this/mirror
Pear:http://de.pear.php.net/get/PEAR-1.9.0.tar
Mm:ftp://ftp.ossp.org/pkg/lib/mm/mm-1.4.2.tar.gz
二、环境检查
已安装Apache2.2.13(/usr/local/apache/),mm-1.4.2(/usr/local/mm/)
rpm -qa|grep mcrypt
libmcrypt-devel-2.5.8-4.el5.centos
libmcrypt-2.5.8-4.el5.centos
rpm -qa|grep mysql-devel
mysql-devel-5.0.77-3.el5
rpm -qa|grep pcre
pcre-6.6-2.el5_1.7
注:具体环境视编译参数而定,此处仅给出下面编译参数需要的部分环境
三、编译安装
1、INSTALL说明
第一章:
php作用:网站和网络应用程序(服务器端脚本) 命令行脚本 桌面GUI应用程序
第二章:在Unix系统上安装
警告:不建议在apache2中使用线程MPM,可以使用prefork MPM代替或者使用apache1。
兼容性:php4.2.0与apache2.0的SAPI兼容,php4.2.3与apache2.0.39协同工作,不能与其他版本工作。php4.3.0及以上与apache2的大部分当前版本兼容。所有提到的php版本与apache1.3.X的版本兼容。
警告:不建议在apache2中使用线程MPM,可以使用prefork MPM代替或 ......
验证码的大致原理是这样的,首先生成一个随机数,然后在数据数上面加上干扰图片,同时把该数据生成图片并输出。
这个数据保存在session中。然后把用户的输入与保存在session中的数据进行匹配,进行验证。
verifyCode.php代码如下:
<?php
Header("Content-type: image/PNG");
session_start();
//准备好随机数发生器种子
srand((double)microtime()*1000000);
//准备图片的相关参数
$im = imagecreate(62,20);
$black = ImageColorAllocate($im, 0,0,0); //RGB黑色标识符
$white = ImageColorAllocate($im, 255,255,255); //RGB白色标识符
$gray = ImageColorAllocate($im, 200,200,200); //RGB灰色标识符
//开始作图
imagefill($im,0,0,$gray);
while(($randval=rand()%100000)<10000);
{
$_SESSION["check_num"] = $randval;
//将四位整数验证码绘入图片
imagestring($im, 5, 10, 3, $randval, $black);
}
//加入干扰象素
for($i=0;$i<200;$i++){
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255 ......
首先检查一下的安装包:
rpm -q gd
rpm -q
jpegsrc
rpm -q libpng
rpm -q zlib
rpm -q freetype
如果以上的安装包没有,请自行安装,其实要只要gd 和libpn 相关的包即可,其他的为了支持其他图形格式而已。
(以下的安装步骤为整理自网络文章)
1.安装zlib
tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install
2.安装libpng
tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux
../makefile
cd ..
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个
3.安装freetype
tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install
4.安装Jpeg
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --enable-shared
--enable-static
make
make test
make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库
5.安装GD
tar zxvf gd
-2.0.33.tar.gz
cd gd
-2.0.33
./configure --with
-png --with
-freetype ......