(沒有版本資訊,可能只在 Git 中)
CollectionFind::bind — 將值綁定到查詢佔位符
它允許用戶將參數綁定到查詢操作之搜尋條件中的佔位符。佔位符的格式為 :NAME,其中「:」是必須存在於任何 NAME 之前的通用前綴,NAME 則是佔位符的實際名稱。如果需要在搜尋條件中替換多個實體,則 bind 函數可接受一個佔位符列表。
placeholder_values
要在搜尋條件中替換的值;允許多個值,並以陣列形式傳遞,格式為「佔位符名稱 => 佔位符值」。
一個 CollectionFind 物件,或者鏈式呼叫 execute() 以回傳一個 Result 物件。
範例 #1 mysql_xdevapi\CollectionFind::bind() 範例
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();
var_dump($result->fetchAll());
?>
上述範例的輸出結果類似如下:
array(1) { [0]=> array(4) { ["_id"]=> string(28) "00005b6b536100000000000000cf" ["age"]=> int(18) ["job"]=> string(6) "Butler" ["name"]=> string(6) "Alfred" } }