ginkgo


参数绑定

除了使用原生 SQL 以外,大多数情况下无需进行手动绑定,系统会在查询和写入数据的时候自动使用参数绑定。

ginkgo 支持占位符绑定,可以使用 bind 方法绑定参数,例如:

Db::prepare('insert into user (name) values (:name)');
Db::bind('name', 'baigo', 'str');
Db::execute();

bind 方法说明

function bind( $bind [, $value [, $type]] )

参数

  • bind 名称:

    支持两种类型:字符串、数组

  • value

    bind 为字符串时为必须,当 bind 为数组时自动忽略。

  • type 类型

    为空时自动识别类型,当 bind 为数组时自动忽略。

    可能的值

    描述
    str(默认值) 字符串
    int 整数
    float 浮点数
    double 数字
    bool 布尔值

批量绑定

支持批量绑定参数,例如:

$bind = array(
    // array('名称', '值', '类型'),
    array('id', 8),
    array('name', 'baigo'),
);

Db::prepare('insert into user (id, name) values (:id, :name)');
Db::bind($bind);
Db::execute();

其他方法

execute 方法也支持绑定参数,用法与 bind 方法相同,例如:

$bind = array(
    array('id', 8),
    array('name', 'baigo'),
);

Db::prepare('insert into user (id, name) values (:id, :name)');
Db::execute($bind);

prepare 方法也支持绑定参数,用法与 bind 方法类似,例如:

// 单个绑定
Db::prepare('insert into user (name) values (:name)', 'name', 'baigo', 'str');
Db::execute();

// 批量绑定
$bind = array(
    array('id', 8),
    array('name', 'baigo'),
);

Db::prepare('insert into user (id, name) values (:id, :name)', $bind);
Db::execute();