多个值的 ReadBeanPHP 参数绑定
ReadBeanPHP parameter bindings for several values
阅读 http://www.redbeanphp.com/querying 上的文档,其中提供了一些使用参数绑定的示例。但是我有一些使用它的问题:
问题一:
这是原来的例子
R::getAll( 'SELECT * FROM page WHERE title = :title',
[':title' => 'home']
);
但是,如果我想在 SQL 语句中替换多个搜索值(例如添加年份)怎么办?这样写对吗:
R::getAll( 'SELECT * FROM page WHERE title = :title AND year > :year',
[':title' => 'home', ':year' => 2012]
);
问题二:
这个例子使用问号?替换
R::getRow( 'SELECT * FROM page WHERE title LIKE ? LIMIT 1',
[ '%Jazz%' ]
);
如果我要加上年份,是不是应该这样写,在查询中加第二个问号?
R::getRow( 'SELECT * FROM page WHERE title LIKE ? AND year > ? LIMIT 1',
[ '%Jazz%', 2012 ]
);
问题三:
到目前为止,文档仅给出了 getAll() 和 getRow() 函数的示例。它也适用于 R::exec() 吗?例如:
R::exec( 'UPDATE page SET title="test" WHERE id = ? AND year > ?',
[ 101, 2012 ]
);
R::exec( 'UPDATE page SET title="test" WHERE id = :id AND year > :year',
[ ':id' => 101, ':year' => 2012 ]
);
谢谢!
你的答案全部正确。
如果您查看 rb.php 文件,您可以找到 Facade class 及其功能:
public static function exec( $sql, $bindings = array() )
public static function getAll( $sql, $bindings = array() )
第二个参数是绑定数组。
阅读 http://www.redbeanphp.com/querying 上的文档,其中提供了一些使用参数绑定的示例。但是我有一些使用它的问题:
问题一:
这是原来的例子
R::getAll( 'SELECT * FROM page WHERE title = :title',
[':title' => 'home']
);
但是,如果我想在 SQL 语句中替换多个搜索值(例如添加年份)怎么办?这样写对吗:
R::getAll( 'SELECT * FROM page WHERE title = :title AND year > :year',
[':title' => 'home', ':year' => 2012]
);
问题二:
这个例子使用问号?替换
R::getRow( 'SELECT * FROM page WHERE title LIKE ? LIMIT 1',
[ '%Jazz%' ]
);
如果我要加上年份,是不是应该这样写,在查询中加第二个问号?
R::getRow( 'SELECT * FROM page WHERE title LIKE ? AND year > ? LIMIT 1',
[ '%Jazz%', 2012 ]
);
问题三:
到目前为止,文档仅给出了 getAll() 和 getRow() 函数的示例。它也适用于 R::exec() 吗?例如:
R::exec( 'UPDATE page SET title="test" WHERE id = ? AND year > ?',
[ 101, 2012 ]
);
R::exec( 'UPDATE page SET title="test" WHERE id = :id AND year > :year',
[ ':id' => 101, ':year' => 2012 ]
);
谢谢!
你的答案全部正确。
如果您查看 rb.php 文件,您可以找到 Facade class 及其功能:
public static function exec( $sql, $bindings = array() )
public static function getAll( $sql, $bindings = array() )
第二个参数是绑定数组。