首页 > 解决方案 > 显示数据库内容

问题描述

我正在尝试使用 php 显示数据库“hospitaldb”,收集“医生”内容。我在集合中有电子邮件、密码、fname、lname 字段。当我尝试显示这些字段时,我收到错误消息:

注意:未定义索引:第 40 行 C:\xampp\htdocs\phpmongodb\viewdoctor.php 中的电子邮件

注意:未定义索引:第 41 行 C:\xampp\htdocs\phpmongodb\viewdoctor.php 中的密码

注意:未定义索引:第 42 行 C:\xampp\htdocs\phpmongodb\viewdoctor.php 中的 fname

注意:未定义索引:第 43 行 C:\xampp\htdocs\phpmongodb\viewdoctor.php 中的 lname

$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";
    }

输出 :

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"
  }
}

标签: phpdatabasemongodb

解决方案


您发布的问题对我有用:

我的设置:php 7.2 线程安全从这里下载适用于 windows 的 DLL https://pecl.php.net/package/mongodb/1.5.3/windows。我把它放在 ext 文件夹中。

作曲家.json

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

从您的帖子中执行 php 代码

<?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);

推荐阅读