站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/spModel数据库操作类
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} [[数据库]]操作类,用户的模型类继承于spModel将可以获得最为常用的数据库操作功能。 ===成员变量=== ===public=== *$table -- 数据表表名称 *$pk -- 数据表主键 *$addrules -- 增加的自定义验证函数 *$verifier -- 供检验值的规则与返回信息 *$linker -- 表间关联的设置 ===protected=== *$tbl_name -- 数据表全名称 *$_db -- [[数据]][[驱动程序]] ==成员函数== ===public=== *__construct -- 构造函数 *find -- 从数据表中查找一条记录 *findAll -- 从数据表中查找记录 *findSql -- 使用SQL语句进行查找操作,等于进行find,findAll等操作 *findBy -- 按字段值查找一条记录 *findCount -- 计算符合条件的记录数量 *create -- 在数据表中新增一行数据 *createAll -- 在数据表中新增多条记录 *update -- 修改数据,该函数将根据参数中设置的条件而更新表中数据 *updateField -- 按字段值修改一条记录 *delete -- 按条件删除记录 *deleteByPk -- 按给定的数据表的主键删除记录 *query -- 执行[[SQL]]语句,相等于执行新增,修改,删除等操作 *dumpSql -- 返回最后执行的SQL语句供分析 *__val_escape -- 过滤转义字符 *__call -- 魔术函数,执行模型扩展类的自动加载及使用 ===private=== __prepera_format -- 按表字段调整适合的字段 位置:spModel类位于 SP_PATH/Core/spModel.php ==函数详细== ===__construct=== 构造函数 void __construct( void ) spModel类的构造函数,按[[应用程序]]配置进行[[数据库]][[链接]]操作。 请注意,如spModel的子类,即是继承于spModel的数据模型类中覆盖了构造函数__construct(),开发者需要在子类的构造函数中调用父类的__construct(),才可以保证数据库的链接有效性。 <pre>class mymodel extends spModel{ function __construct(){ // 一些操作 parent::__construct(); } } </pre> ===find=== 从数据表中查找一条记录 array find(mixed conditions, string sort, string fields) 参数: *mixed conditions 查找条件,数组array("字段名"=>"查找值")或字符串,请注意在使用[[字符串]]时将需要开发者自行使用__val_escape来对输入值进行过滤 *string sort 排序,等同于“ORDER BY ” *string fields 返回的字段范围,默认为返回全部字段的值 返回: *按条件查询不到任何数据,find将返回FALSE *如查找到预期的结果则返回结果数组,数组的键是字段名,数组的值是数据。 ===findAll=== 从数据表中查找记录 array findAll(mixed conditions, string sort, string fields, string limit) 参数: *mixed conditions 查找条件,数组array("字段名"=>"查找值")或[[字符串]],请注意在使用字符串时将需要开发者自行使用__val_escape来对输入值进行过滤 *string sort 排序,等同于“ORDER BY ” *string fields 返回的字段范围,默认为返回全部字段的值 *string limit 返回的结果数量限制,等同于“LIMIT ”,如$limit = " 3, 5",即是从第3条记录开始获取,共获取5条记录 返回: *按条件查询不到任何数据,findAll将返回FALSE *如查找到预期的结果则返回结果数组。对比find返回的结果,findAll是返回了二维数组,并且数组的每一项将是代表一条记录的数组。 ===findSql=== 使用SQL语句进行查找操作,等于进行find,findAll等操作 array findSql(sql_string sql) 参数: sql_string sql 字符串,需要进行查找的[[SQL]]语句 返回: *如SQL语句执行成功并且获取到记录,则返回多维数组,形式与findAll返回结果相同。 *如无法查找到记录,则返回FALSE。 使用findSql()时,请注意: *使用数据表的全名 *使用__val_escape()过滤[[浏览器]]提交的值 ===findBy=== 按字段值查找一条记录 array findBy(string field, string value) 参数: *string field 字符串,对应数据表中的字段名 *string value 字符串,对应的值 返回: *按条件查询不到任何数据,findBy将返回FALSE *如查找到预期的结果则返回结果数组,数组的键是字段名,数组的值是数据。 ===findCount=== 计算符合条件的记录数量 int findCount(mixed conditions) 参数: mixed conditions 查找条件,数组array("字段名"=>"查找值")或字符串,请注意在使用字符串时将需要开发者自行使用__val_escape来对输入值进行过滤 返回: 返回符合$conditions记录的数量,如无任何符合条件的记录将返回 0。 ===create=== 在数据表中新增一行数据 int create(array row) 参数: array row 数组形式,数组的键是数据表中的字段名,键对应的值是需要新增的数据。 返回: 新增成功则返回新增的自增量ID,失败则返回FALSE。 ===createAll=== 在数据表中新增多条记录 void createAll(array rows) 参数: array rows 数组形式,每项均为create的$row的一个数组 ===update=== 修改数据,该函数将根据参数中设置的条件而更新表中数据 bool update(mixed conditions, array row) 参数: *mixed conditions 数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。 *array row 数组形式,修改的数据,此参数的格式用法与create的$row是相同的。在符合条件的记录中,将对$row设置的字段的数据进行修改。 返回: *返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。 *返回FALSE是语句执行失败 ===updateField=== 按字段值修改一条记录 bool updateField(mixed conditions, string field, string value) 参数: *mixed conditions 数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。 *string field 字符串,对应数据表中的需要修改的字段名 *string value 字符串,新值 返回: 返回值参考update函数。 ===delete=== 按条件删除记录 bool delete(mixed conditions ) 参数: mixed conditions 数组形式,查找条件,此参数的格式用法与find/findAll的查找条件参数是相同的。 返回: *返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。 *返回FALSE是语句执行失败 ===deleteByPk=== 按给定的数据表的主键删除记录,该函数简化了delete的操作,根据给定的主键删除对应的记录。 bool deleteByPk(mixed pk) 参数: mixed pk 字符串或数字,数据表主键的值。 返回: 返回值参考delete函数。 ===query=== 执行SQL语句,相等于执行新增,修改,删除等操作 bool query(string sql) 参数: string sql 字符串,需要执行的SQL语句 返回: *返回TRUE则是语句执行成功,无论有无符合条件的记录,只要操作正常执行则返回TRUE。 *返回FALSE是语句执行失败。 使用query()时,请注意: *使用数据表的全名 *使用__val_escape()过滤浏览器提交的值 ===dumpSql=== 返回最后执行的SQL语句供分析 string dumpSql(void) ===__val_escape=== 过滤转义字符,保证数据库执行语句的安全。 __val_escape()将直接调用数据库驱动的__val_escape()函数进行字符过滤。 string __val_escape(string value) 参数: string value 需要进行过滤的值 返回: 返回通过安全过滤的值。 ===__call=== 魔术函数,执行模型扩展类的自动加载及使用 __call()可以让spModel类支持更广泛的用途,如加入spLinker等关联的操作同时具备分页功能。 ===__prepera_format=== 私有函数,按表字段调整适合的字段 array __prepera_format(array rows) 参数: array rows 输入的表字段 返回: __prepera_format()将根据当前数据表的字段整理返回适合的字段。 ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|S]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)