$SearchParam = $_GET["tag"];
$strcount = substr_count($SearchParam, ' ');
// Code to get the tag strings and create the search parm accordingly
if ($strcount > 0)
{
$fruitQuery = "'$" ."and' => array(";
for ($i = 1; $i <= $strcount; $i++)
{
$strfind = strpos($SearchParam,' ');
$fruitQuery = $fruitQuery . "array('ta' => " . "'" .substr($SearchParam,0,$strfind) . "'),";
$SearchParam = substr($SearchParam,$strfind+1,strlen($fruitQuery));
if ($i == $strcount)
{
$fruitQuery = $fruitQuery . "array('ta' => " . "'" . $SearchParam . "'))";
}
}
}
else
{
$fruitQuery = array('ta' => $SearchParam);
}
$m = new Mongo();
$db = $m->selectDB('wikisrch');
$collection = new MongoCollection($db, 'dailymotion');
//$cursor = $collection->find($fruitQuery)->limit(12);
$cursor = $collection->find(array($fruitQuery));
var_dump($db->lastError());
Это мой код, и я создаю динамический запрос к базе данных mongodb на основе параметра поиска. При создании динамического запроса он возвращает его как ошибку.
Это строка, генерируемая в $ fruitQuery. Где вводится «образ жизни камеры» '$ and' => array ('ta' => 'camera'), array ('ta' => 'lifestyle'))
Это последнее сообщение об ошибке , массив (4) {["n"] => int (0) ["connectionId"] => int (1) ["err"] => NULL ["ok"] => float (1)}
Когда я заглянул в консоль Mongod, он отобразил следующее сообщение. $ ERR: "недопустимый оператор: $ и, код 10068.
Не могли бы вы помочь мне решить эту проблему
Можете ли вы дать SQL синтаксис запроса... ? –
Sql? Вы сделали мой день! – heinob
Ожидаемый sql-запрос - это выбор * из db.dailymotion, где ta = 'camera' и ta = 'lifestyle' выбирают только первые 10 строк; – user3138111