如何使用php检查验证mongodb id
我获取查询字符串的mongodb id。如何检查此id的有效性?如果mongodb id无效,我想重定向到另一个url 获取查询字符串:如何使用php检查验证mongodb id,php,mongodb,validation,mongoid,mongodb-query,Php,Mongodb,Validation,Mongoid,Mongodb Query,我获取查询字符串的mongodb id。如何检查此id的有效性?如果mongodb id无效,我想重定向到另一个url 获取查询字符串: if(count($_GET)>0 && $_GET['uid']){ //get id from string query $query = array("_id" => new MongoId($_GET ['uid'])); $user = DB::f
if(count($_GET)>0 && $_GET['uid']){
//get id from string query
$query = array("_id" => new MongoId($_GET
['uid']));
$user = DB::findone('users',$query);
}else{
//redirect if not exist query string
header('location:'.ADMIN_URL.'/items/forbidden.php');
}
plz帮助。。。
谢谢由于ext mongo 1.5版,您可以查看它
if(isset($_GET['uid']) && MongoId::isValid ($_GET['uid'])) {
// Your code here
}
在新的PHP Mongo库中,检查字符串有效性的最佳方法是:
(感谢Yii2代码)
此函数已弃用:是的,因为现在我们有了新的mongodb扩展。回到2015年7月,没有人反对使用此函数。请注意,该函数不检查空值。ObjectID构造函数在这种情况下不会抛出异常,但会生成新的ObjectID
function isValid($value)
{
if ($value instanceof \MongoDB\BSON\ObjectID) {
return true;
}
try {
new \MongoDB\BSON\ObjectID($value);
return true;
} catch (\Exception $e) {
return false;
}
}