tfphp\database\tfdo数据库操作类的使用技巧

鬼谷子叔叔 - 2026-04-07 16:03

介绍

今天我们来学习TFPHP框架的tfdo数据库操作类的使用技巧,本教程兼容TFPHP v0.6.9及更早版本。

配置

web-inf/config/tfphp.yml

<database>
    <default driver="mysql" host="tfmysql" port="3306" username="root" password="abcdef" database="test" table_prefix="tb_"></default>
</database>

初始化

这里的default对于配置文件里的database>default,只有一个数据源的的时候这里可以不传数据源名称。

$ds = $this->tfphp->getDataSource("default");

基础操作

insert

写入一行数据,写入失败会触发异常。

$ds->execute3("insert into users (uName, uPwd, createDT) values (@str, @str, now())",
    ["福哥", md5("123456")]);

获取自增列的值。

$newID = $ds->getLastInsertAutoIncrementValue();

update

更像数据,更新失败会触发异常。

$ds->execute3("update users set uPwd = @str where mId = @int",
    [md5("abcdef"), $newID]);

delete

删除数据,删除失败会触发异常。

$ds->execute3("delete from users where mId = @int",
    [$newID]);

select

查询一行数据。

$dataRow = $ds->fetchOne3("select * from users where createDT > @str", [$before7Days]);

查询多行数据,后面的0和100是从结果集0位获取100条记录。

$dataRows = $ds->fetchMany3("select * from users where createDT > @str", [$before7Days], 0, 100);

查询全部数据。

$dataRows = $ds->fetchAll3("select * from users where createDT > @str", [$before7Days]);