玩转MySQL中的外键约束之PHP篇(5)
来源:asp之家 发布时间:2010-03-18 10:20:00
我们假设这个类被单独放入一个名为mysqlclass.php文件中,下面的脚本将向blog表中插入单篇博客文章,并向comments表中插入两则评论:
require_once 'mysqlclass.php';
$db = new MySQL('host', 'user', 'password', 'test');
//在blogs数据库表中插入新数据
$db->query("INSERT INTO blogs (id, title, content, author) VALUES (NULL,'Title of the first blog entry', 'Content of the first blog entry', 'IAN')");
$insid = $db->getInsertID();
//在comments数据库表中插入新评论
$db->query("INSERT INTO comments (id, blog_id, comment, author) VALUES (NULL, $insid, 'Commenting first blog entry', 'Tom'), (NULL, $insid, 'Commenting first blog entry', 'Rose')");
虽然我们的这个MySQL类能够抽象地访问数据库,但是相应的SQL查询还得手工编写。同时,它正好可以使我们可以展示每当第一个表中的数据更新时,如何使用该类来更新与第一个数据表相关的评论。
执行该级联更新操作的代码片断如下所示:
//更新blogs表中的数据(comments表中的有关数据将自动更新)
$db->query("UPDATE blogs SET id = 2, title = 'Title of the first blog entry', content = 'Content of the first blog entry', author = 'John Doe' WHERE id = 1");
尽管另外添加了一个与上述InnoDB表打交道的抽象类,但是触发级联更新所需的SQL代码仍然保持高度简洁。这说明,各表之间的关系的完整性仍然是在数据库级别进行维护的,而不是由PHP 5应用程序所维护的。
五、小结
到目前为止,我们详细讲解了如何通过PHP 5内置的抽象类使用外键约束来更新两个InnoDB表中的数据。 我们希望本文能够对您利用服务器端脚本使用外键约束时能够有所启发。在后面的文章中,我们将继续探讨外键约束有关的内容。
猜你喜欢
- 由于代码比较短,这里就不进行注释了代码如下:<% '当目标页面的包含文件即#include的页面里边存在respon
- QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使
- 字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表示第一个字符,1表
- 一般我们是利用Session对象来防止通过“刷新”增加计数器的访问量的,看看下面的做法;<%If IsEmpty(Sessi
- 下面这段代码,你知道有哪些错误吗:var g_bar = "bar";function foo(container, c
- 今天运行程序时,在Oracle中输入SQL语句:select * from USERS as u ,程序报错输入select * from
- 现在的垃圾留言越来越智能,并且从留言内容几乎看不出来是垃圾留言,而大量的垃圾留言会导致文章可读性下降,并可能会被搜索引擎惩罚,经过一段时间的
- 如: 0.625 取 1 2.1 取3 3.6 取4 <% if fix(a)>a then b=fix(a) else b=f
- 程序如下:<%Function GetEmploymentStatusListDim dd = Ap
- Security vulnerability in MySQL/MariaDB 在知道用户名的情况下(如root),直接反复重试(平均大约2
- 如何用组件实现自动发送电子邮件?我想做一个能够自动发送电子邮件的程序,该如何做? 这就要用到w3 upl
- 上文: 《IE7的web标准之道——1:前言(兼目录)》IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者
- 前面也讲过一次phar文件上传的东西,但是那都是过滤比较低,仅仅过滤了后缀。知道今天看到了一篇好的文章如果过滤了phar这个伪造协议的话,那
- 我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。以下巧
- PNG格式以支持透明和无损,且相对大小适中,已成为现在网页中图片运用的主流。有些时候我们在制作网页时使用PNG格式图片,用IE浏览器查看却无
- 1) 知识准备:为了使用Perl语言去存取mSQL和MySQL数据库的内容,必须安装一些API模块,以下列出一些必须安装的模块名称说明和其下
- 我有大量的重要数据要从SQL Server导出到Access或Excel文件中去,手工做太麻烦,还有其它的好办法吗?有,我们在 SQL Se
- 我生平不爱学习,所以说不出什么洋洋洒洒的大道理,貌似也写不出妙语连珠的学术文章,有感于现在宅到极致的生活状态,故一篇图文并茂的文章诞生了(大
- ADO对象: Connection Command Recordset Record Stream ASP支持的对象很多,可以自己编写COM
- 提起Apple,大部分人都会提起Apple的设计,除了Apple里拥有一批天才设计师外,还因为乔布斯对于设计有着苛刻的要求。所以在IT界,A