玩转MySQL中的外键约束之PHP篇(3)

来源:asp之家 时间:2010-03-18 10:20:00 


三、利用PHP 5以级联方式更新数据库

好了,现在开始详细介绍如何使用流行的服务器端脚本语言PHP 5来以级联方式更新我们的示例表。为此,我们需要编写允许我们访问上面定义的InnoDB表的代码,就本例而言,我们使用PHP 5的MySQL抽象类来达此目的。下面给出具体的代码:


class MySQL
{
private $result = NULL;
private $link = NULL;

//连接到MySQL

public function __construct($host, $user, $password, $database)
{
if (FALSE === ($this->link = mysqli_connect($host, $user, $password, $database)))
{
throw new Exception('Error : ' . mysqli_connect_error());
}
}

//执行查询

public function query($query)
{
if (is_string($query) AND empty($query) === FALSE)
{
if (FALSE === ($this->result = mysqli_query($this->link, $query)))
{
throw new Exception('Error performing query ' . $query . ' Error message :' .mysqli_error($this->link));
}
}
}

//从结果集返回数据

public function fetch()
{
if (FALSE === ($row = mysqli_fetch_object($this->result)))
{
mysqli_free_result($this->result);
return FALSE;
}
return $row;
}

//获取插入ID

public function getInsertID()
{
return mysqli_insert_id($this->link);
}

//结果集中的行数

public function countRows()
{
if ($this->result !== NULL)
{
return mysqli_num_rows($this->result);
}
}

//关闭数据库连接

function __destruct()
{
mysqli_close($this->link);
}
}

如上所示,上面定义的MySQL抽象类十分简单,它提供了许多常用的方法,用于执行查询、统计结果集行数以及获取插入ID。需要格外注意的是,这个类内部使用了PHP扩展mysqli来跟MySQL打交道,所以整体看来是很容易理解的。

好了,我们已经定义了一个可以用于跟MySQL数据库相交互的PHP 5类,现在我们要做的就是利用它的API对前面定义的InnoDB表执行级联更新。



标签:MySQL外键约束,MySQL约束,外键
0
投稿

猜你喜欢

  • IE6 升级要不要?

    2009-07-23 20:44:00
  • Web 设计:实现干净代码的12条定律

    2008-12-04 13:27:00
  • MySQL优化之数据表的处理

    2008-12-22 14:45:00
  • SQL Server跟踪数据实现索引优化向导

    2009-02-13 17:14:00
  • HTML5 离线存储之Web SQL

    2011-06-19 14:13:19
  • “生活”设计

    2009-03-03 12:14:00
  • 网页设计求职全攻略

    2008-07-09 18:56:00
  • Data URI 和 MHTML

    2009-08-16 16:19:00
  • msxml3.dll 错误 ‘800c0005’解决方案

    2009-10-05 18:36:00
  • asp 根据IP地址自动判断转向分站的代码

    2011-04-14 10:51:00
  • MYSQL教程:查询优化之调度和锁定

    2009-02-27 15:58:00
  • 详解AJAX核心 —— XMLHttpRequest 对象

    2010-03-31 14:49:00
  • js全选/全不选/反选 checkbox代码

    2008-03-18 13:00:00
  • asp如何读取文本文件的内容?

    2009-11-18 20:55:00
  • Javascript 闭包[翻译]

    2008-09-28 20:59:00
  • 眼未动,心已动【碳酸饮料会】

    2009-09-01 19:32:00
  • asp 输出换行的详细说明 原创

    2011-02-24 11:15:00
  • MySQL Order By用法

    2011-01-04 19:50:00
  • 你的网站使用了微格式了么

    2009-05-21 12:10:00
  • 多语言网站开发 不完全技术分析

    2008-02-18 12:52:00
  • asp之家 网络编程 m.aspxhome.com