background image

ADD CONSTRAINT `ip_votes_ibfk_1` FOREIGN KEY (`SelectName`) REFERENCES 
`count_voting` (`SelectName`) ON 

DELETE

 CASCADE ON UPDATE CASCADE; 

 
从脚本中可以看出,我创建了一个触发器,当往 ip_votes 表中插入数据的时候就给
count_voting 表中的 CountVotes 字段加 1

 

。还能后出最后一句是设置外部关联字。

 

框架设计
OperatorDB 类用于操作数据库,OperatorVotingDB

 

类用于该系统特定的操作集合。

使用 PDO

 

操作数据库,我它简单的封装一下:

 

复制代码 代码如下:
 

/** 

 

操作数据库

* 封装 PDO

 

,使其方便自己的操作

*/

 

class

 OperatorDB 

//

 

连接数据库的基本信息

private

 

$dbms

='mysql'; 

//数据库类型,对于开发者来说,使用不同的数据库,只要改这个. 

private

 

$host

='localhost'; 

//

 

数据库主机名

private

 

$dbName

='voting'; 

//

 

使用的数据库

private

 

$user

='voting'; 

//

 

数据库连接用户名

private

 

$passwd

='voting'; 

//

 

对应的密码

private

 

$pdo

=null; 

public

 

function

 __construct() 

//dl("php_pdo.dll"); 
//dl("php_pdo_mysql.dll"); 

$this

->dsn="$this->dbms:host=$this->host;dbname=$this->dbName"; 

try

 

$this

->conn=

new

 PDO(

$this

->dsn,

$this

->user,

$this

->passwd);

//初始化一个 PDO 对象,就是创

建了数据库连接对象$db 

catch

(PDOException 

$e

die

("<br/>数据库连接失败(creater PDO Error!): ".

$e

->getMessage()."<br/>"); 


public

 

function

 __destruct() 

$this

->pdo = null; 

public

 

function

 

exec

(

$sql