pdo操作
<h1>获取PDO对象</h1>
<ul>
<li>
<p><strong>单例模式</strong>
使用 Init() 方法获取pdo模型的单例,不管在什么地方、多少次使用Init()方法,始终获取的是同一个pdo模型对象</p>
</li>
<li><strong>不提供多例模式</strong></li>
</ul>
<p><strong>在 init() 的时候可以传入数据库的连接参数,格式同配置文件的 DB 字段</strong></p>
<pre><code> $pdo = \z\pdo::Init(); //默认连接参数
$pdo = \z\pdo::Init($config); //传入连接参数</code></pre>
<h1>类方法</h1>
<p><strong>除了模型提供的方法外,也可以<font color=red>直接使用PDO原生的操作方法</font></strong>
<strong>下面的$sql是准备查询的sql语句,$bind是绑定的参数数组</strong></p>
<ul>
<li>
<h2>查询操作</h2>
<pre><code>// $sql 语句和 $bind 数组只是示例
$sql = 'SELECT * FROM `table` WHERE `id` = :id';
$bind = [':id'=>100];
//查询:
$pdo->Prepare($sql); //返回预处理的句柄
$pdo->Query($sql, $bind); //返回本次查询的句柄
$pdo->QueryOne($sql, $bind); //返回一条数据
$pdo->QueryAll($sql, $bind); //返回所有数据
$pdo->QueryFields($sql, $bind); //返回所有行中的一列
$pdo->QueryField($sql, $bind); //返回一行中的一列
$pdo->LastId(); //最后一次插入数据的主键值</code></pre>
</li>
<li>
<h2>写入操作</h2>
<p><strong>如果是 INSERT 操作,返回主键值或者是 true</strong>
<strong>如果是 UPDATE 或 DELETE 操作,返回受影响的行数</strong>
<strong>如果含有 DUPLICATE 操作:(执行了 INSERT:返回主键值或者是 true,执行了 UPDATE:返回受影响行数)</strong>
<strong>其它操返回结果根PDO一致</strong></p>
<pre><code>$pdo->Submit($sql, $bind); </code></pre>
</li>
</ul>
<h2>其它方法</h2>
<pre><code>$pdo->GetConfig(); //当前数据库连接的配置
$pdo->GetSql(); //最后一次查询的sql语句
$pdo->GetParams(); //最后一次查询的绑定参数
$pdo->Begin(); // 开始事务处理
$pdo->Commit(); // 提交事务
$pdo->Rollback(); // 回滚事务
$pdo->Cache($seconds); // 缓存查询,参数单位是秒,默认600,可在配置文件的数据库字段['cache_time']配置(需要在执行具体查询方法之前调用)
$pdo->CleanCache($db, $table); // 删除$db库的$table表的缓存($table必须是带有前缀的完整表名,如果为空则是删除$db下的所有缓存)
</code></pre>