Z-PHP_v5

Z-PHP5 文档


PDO操作

<h1>获取PDO对象</h1> <p>使用 Init() 方法获取pdo模型的单例,不管在什么地方、多少次使用Init()方法,始终获取的是同一个pdo模型对象</p> <p><strong>在 init() 的时候可以传入数据库的连接参数,格式同配置文件的 DB 字段</strong></p> <pre><code> use lib\z\dbc\dbc; $pdo = dbc::Init(); //默认连接参数 $pdo = dbc::Init($config); //传入连接参数</code></pre> <h1>类方法</h1> <p><strong>除了模型提供的方法外,也可以<font color=red>直接使用PDO原生的操作方法</font></strong> <strong>下面的$sql是准备查询的sql语句,$bind是绑定的参数数组</strong></p> <pre><code> // $sql 语句和 $bind 数组只是示例 $sql = 'SELECT * FROM `table` WHERE `id` = :id'; $bind = [':id'=&gt;100]; //查询: $pdo-&gt;Prepare($sql); //返回预处理的句柄 $pdo-&gt;Query($sql, $mode = \PDO::FETCH_ASSOC, $rows = 0); //返回本次查询的句柄($rows=0), 或数据($rows&gt;0) $pdo-&gt;Exec($sql); //返回本次查询的句柄 $pdo-&gt;QueryOne($sql, $bind); //返回一条数据 $pdo-&gt;QueryAll($sql, $bind); //返回所有数据 $pdo-&gt;QueryColumns($sql, $bind); //返回所有行中的一列 $pdo-&gt;QueryColumn($sql, $bind); //返回一行中的一列 $pdo-&gt;LastInsertId(); //最后一次插入数据的主键值 $pdo-&gt;Stmt(string $sql, array $bind = null); //Stmt实例(对 PDOStatement 的封装)</code></pre> <h2>其它方法</h2> <pre><code>$pdo-&gt;GetConfig(); //当前数据库连接的配置 $pdo-&gt;GetSql(); //最后一次查询的sql语句 $pdo-&gt;GetParams(); //最后一次查询的绑定参数 $pdo-&gt;Begin(); // 开始事务处理 $pdo-&gt;Commit(); // 提交事务 $pdo-&gt;Rollback(); // 回滚事务</code></pre> <h2>Stmt 实例方法</h2> <pre><code>$stmt = $pdo-&gt;Stmt($sql, $bind); $stmt-&gt;Stmt(); // 返回 PDOStatement $stmt-&gt;Batch(array $data, bool $returnKeys = false); // 批量操作 $pdo-&gt;Execute(); // 返回执行sql后的 PDOStatement $pdo-&gt;Exec(); // 执行sql并返回结果 $pdo-&gt;RowCount(); // 受影响行数 $pdo-&gt;LastInsertId(string $name = null); // 最后执行的主键值 // 回调函数 $call ($row, $i) =&gt; [$key, $result] // 将每行数据和行号传入 $call 进行处理; $call 需要返回 [$key 键名, $result 处理完的数据行] // 最终整理成[$key=&gt;$result, ...]的数据结构 $pdo-&gt;Rows(int $fetch = \PDO::FETCH_ASSOC, callable $call = null); // 返回多行数据 $pdo-&gt;Row(int $fetch = \PDO::FETCH_ASSOC); // 返回一行数据</code></pre>

页面列表

ITEM_HTML