doudang9147 2019-04-06 06:48
浏览 51

显示数据库内容

I'm trying to display the database 'hospitaldb', collection 'doctor' content using php. I've fields email, password, fname, lname in the collection. When I try to display these fields then I get error messages as :

Notice: Undefined index: email in C:\xampp\htdocs\phpmongodb\viewdoctor.php on line 40

Notice: Undefined index: password in C:\xampp\htdocs\phpmongodb\viewdoctor.php on line 41

Notice: Undefined index: fname in C:\xampp\htdocs\phpmongodb\viewdoctor.php on line 42

Notice: Undefined index: lname in C:\xampp\htdocs\phpmongodb\viewdoctor.php on line 43

$server = "mongodb://localhost:27017/hospitaldb";
    try{
        $connection = new MongoDB\Client($server);
        /*$hospitaldb = $connection->test;*/
        $hospitaldb = $connection->hospitaldb;
    }catch (MongoConnectionException $ConErrMsg)
    {
        echo "$ConErrMsg";
    }

    $data = "<table style='border:1px solid red;";
    $data .= "border-collapse:collapse' border='1px'>";
    $data .= "<thead>";
    $data .= "<tr>";
    $data .= "<th>First Name</th>";
    $data .= "<th>Last Name</th>";
    $data .= "<th>Email</th>";
    $data .= "<th>Password</th>";
    $data .= "</tr>";
    $data .= "</thead>";
    $data .= "<tbody>";

    try{
        $db = $connection->hospitaldb;
        $collection = $db->doctors;
        $cursor = $collection->find();

        foreach ($cursor as $document)
        {
            $data .= "<tr>";
            $data .= "<td>" . $document["email"] . "</td>";
            $data .= "<td>" . $document["password"]."</td>";
            $data .= "<td>" . $document["fname"]."</td>";
            $data .= "<td>" . $document["lname"]."</td>";
            $data .= "</tr>";

        }

    }catch (MongoException $mongoException)
    {
        echo "$mongoException";
    }

Output :

object(MongoDB\Model\BSONDocument)#20 (1) {
  ["storage":"ArrayObject":private]=>
  array(5) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#16 (1) {
      ["oid"]=>
      string(24) "5ca746b2a930602fb8000e04"
    }
    ["email"]=>
    string(16) "sanekt@gmail.com"
    ["password"]=>
    string(6) "sanket"
    ["fname"]=>
    string(6) "sanket"
    ["lname"]=>
    string(6) "sanket"
  }
}


object(MongoDB\Model\BSONDocument)#22 (1) {
  ["storage":"ArrayObject":private]=>
  array(5) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#21 (1) {
      ["oid"]=>
      string(24) "5ca757fea930602fb8000e05"
    }
    ["email"]=>
    string(11) "p@gmail.com"
    ["password"]=>
    string(4) "7888"
    ["fname"]=>
    string(6) "piyush"
    ["lname"]=>
    string(4) "shah"
  }
}


object(MongoDB\Model\BSONDocument)#16 (1) {
  ["storage":"ArrayObject":private]=>
  array(5) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#20 (1) {
      ["oid"]=>
      string(24) "5ca8444aa9306032cc001a32"
    }
    ["email"]=>
    string(17) "shahsir@gmail.com"
    ["password"]=>
    string(7) "shahsir"
    ["fname"]=>
    string(4) "Shah"
    ["lname"]=>
    string(4) "Shah"
  }
}
  • 写回答

1条回答 默认 最新

  • doucheng4660 2019-04-06 08:21
    关注

    The question you posted is working for me :

    My setup : php 7.2 thread safe Downloaded DLL for windows from here https://pecl.php.net/package/mongodb/1.5.3/windows. I put it in ext folder.

    Composer.json

        "require": {
            "mongodb/mongodb": "^1.4"
        }
    }
    

    Executed php code from your post

    <?php
    require_once __DIR__ . "/vendor/autoload.php";
    $server = "mongodb://localhost:27017/hospitaldb";
        try{
            $connection = new MongoDB\Client($server);
            /*$hospitaldb = $connection->test;*/
            $hospitaldb = $connection->hospitaldb;
        }catch (MongoConnectionException $ConErrMsg)
        {
            echo "$ConErrMsg";
        }
    
        $data = "<table style='border:1px solid red;";
        $data .= "border-collapse:collapse' border='1px'>";
        $data .= "<thead>";
        $data .= "<tr>";
        $data .= "<th>First Name</th>";
        $data .= "<th>Last Name</th>";
        $data .= "<th>Email</th>";
        $data .= "<th>Password</th>";
        $data .= "</tr>";
        $data .= "</thead>";
        $data .= "<tbody>";
    
        try{
            $db = $connection->hospitaldb;
            $collection = $db->doctors;
            $cursor = $collection->find();
    
            foreach ($cursor as $document)
            {
                $data .= "<tr>";
                $data .= "<td>" . $document["first_name"] . "</td>";
                $data .= "<td>" . $document["last_name"]."</td>";
                $data .= "</tr>";
    
            }
    
        }catch (MongoException $mongoException)
        {
            echo "$mongoException";
        }
    
        var_dump($data);
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!