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
)