请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 6578|回复: 0

[数据操作] 执行SQL命令

[复制链接]
发表于 2012-8-4 16:30:50 | 显示全部楼层 |阅读模式
runSql(query) —— 执行SQL语句,相等于执行新增,修改,删除等操作。
请注意,原query函数,在SpeedPHP第三版开始,已经改名为runSql,以更好地和mysql_query函数区分开来。为了向下兼容,query函数仍然可用,不过强烈建议使用runSql函数。

请注意findSql和runSql函数之间的区别:findSql是SQL语句查找时使用的,而runSql(query)是SQL语句更新/删除/新建的时候使用的。也就是说,findSql中的SQL语句主要以“SELECT”为开头,而runSql中的SQL语句以“UPDATE/DELETE/CREATE”开头。



这里要注意,在直接使用SQL语句的时候,请注意需要使用表全名(前缀+表名),上例中的gb表全名为spgb_gb。

用法:runSql($sql)

参数:$sql,字符串,需要执行的SQL语句

例子:

在上一章的留言本数据中,我们已经增加了许多数据,数据表部分如下:

23 小李 晚上给我回复 2009-10-26 10:04:53 218.82.32.12

24 robot 广告留言 2009-11-11 10:04:53 218.13.23.12

25 robot  广告留言 2009-11-11 10:04:53 218.13.23.12

26 robot  广告留言 2009-11-13 10:04:53 218.13.23.12

27 大将军 广告留言 2009-11-14 10:04:53 218.82.32.12

28 大将军 广告留言 2009-11-14 10:04:53 218.82.32.12

29 小李 留言本很多广告留言 2009-11-14 10:04:53 218.82.32.12

  1. // 这里我们将用SQL语句删除“留言者名称是大将军的留言,或IP来源于218.13.23.x的留言”。
  2. // 首先准备SQL语句
  3. $sql = "DELETE FROM spgb_gb WHERE 'name' = '大将军' OR 'post_ip' like '218.13.23.%' ";
  4. $gb = spClass('gb'); // 初始化留言本模型类
  5. $gb->runSql($sql); // 执行操作
复制代码

返回:

返回TRUE则是语句执行成功,无论有无对数据表记录进行了操作,只要操作正常执行则返回TRUE。

返回FALSE是语句执行失败。

和update/delete/create等函数一样,runSql返回的结果,如无执行错误则返回TRUE。如果需要获取有无“真正”修改到数据,请使用affectedRows来获取“影响行数”。


您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-4-9 21:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表