#1 jake

下面我们来介绍一下,SpeedPHP数据库操作的新建/更新/删除等相关操作的常用函数。
当然,以下介绍的“新建/更新/删除”函数仅是常用的部分,更多SpeedPHP的数据库函数请参考其他文章。

create —— 在数据表中新增一行数据

用法:create($row)

参数:

$row,数组形式,数组的键是数据表中的字段名,键对应的值是需要新增的数据。

例子:

/** 首先是准备新增的数据
*  表中的gid因为是自增量,所以没必要去赋值
*  replay因为是可为空,并且刚留言也不会有回复,所以也可以不赋值
*  数组中的键是字段名称,值是数据
*/
$newrow = array( // PHP的数组
'name' => 'jake',
'contents' => '这是我的第一个留言',
'post_time' => date('Y-m-d H:i:s'),
'post_ip' => $_SERVER['REMOTE_ADDRESS'],
);
$gb = spClass('gb'); // 初始化留言本模型类
$gb->create($newrow);  // 进行新增操作                       

返回:

新增成功则返回新增的自增量ID,失败则返回FALSE。

update —— 修改数据,该函数将根据参数中设置的条件而更新表中数据。

用法:update($conditions, $row)

参数:

$conditions,数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。

$row,数组形式,修改的数据,此参数的格式用法与create的$row是相同的。在符合条件的记录中,将对$row设置的字段的数据进行修改。

例子:

// 将小李的第一条留言,也就是gid = 12的留言的内容修改成“我的第一条留言”。
// 构造查找条件
$conditions = array('gid'=>12); // 思考为什么不能用 'name' => '小李' 来作为条件呢?
// 设置需要更新的字段,注意没必要更新的字段请不要设置。这里我们仅仅修改contents(内容)对应的数据。
$row = array('contents'=>'我的第一条记录');
$gb = spClass('gb');
$gb->update($conditions, $row);               

原来的数据表:

12 小李 我的留言 2009-10-26 10:04:53 218.82.32.12

13 小李 我的第二条留言 2009-10-26 10:04:53 218.82.32.12

经过执行$gb->update($conditions, $row);后:

12 小李 我的第一条留言 2009-10-26 10:04:53 218.82.32.12

13 小李 我的第二条留言 2009-10-26 10:04:53 218.82.32.12

返回:

返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。

返回FALSE是语句执行失败

delete —— 按条件删除记录

用法:delete($conditions)

参数:

$conditions,数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。

delete的操作将删除符合$conditions条件的记录。

例子:

// 这里我们将删除小李的第二条留言,也就是gid=13的记录
// 构造查找条件
$conditions = array('gid'=>13); // 构造条件
$gb = spClass('gb');
$gb->delete($conditions);               

原来的数据表:

12 小李 我的留言 2009-10-26 10:04:53 218.82.32.12

13 小李 我的第二条留言 2009-10-26 10:04:53 218.82.32.12

经过执行$gb->delete($conditions);后:

12 小李 我的第一条留言 2009-10-26 10:04:53 218.82.32.12

gid为13的记录已被删除

返回:

返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。

返回FALSE是语句执行失败


2012-08-04 16:17:44