Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php检查验证mongodb id_Php_Mongodb_Validation_Mongoid_Mongodb Query - Fatal编程技术网

如何使用php检查验证mongodb id

如何使用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

我获取查询字符串的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::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;
        }
    }