Отображение содержимого базы данных - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь отобразить базу данных 'hospitaldb', коллекцию 'doctor' с помощью php.У меня есть поля email, пароль, fname, lname в коллекции.Когда я пытаюсь отобразить эти поля, я получаю сообщения об ошибках:

Примечание: неопределенный индекс: электронная почта в C: \ xampp \ htdocs \ phpmongodb \ viewdoctor.php в строке 40

Примечание:Неопределенный индекс: пароль в C: \ xampp \ htdocs \ phpmongodb \ viewdoctor.php в строке 41

Примечание: Неопределенный индекс: fname в C: \ xampp \ htdocs \ phpmongodb \ viewdoctor.php в строке 42

Примечание: неопределенный индекс: lname в C: \ xampp \ htdocs \ phpmongodb \ viewdoctor.php в строке 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";
    }

Вывод:

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 Ответ

0 голосов
/ 06 апреля 2019

Вопрос, который вы разместили, работает для меня:

Моя настройка: поток php 7.2 безопасен Скачанная DLL для Windows отсюда https://pecl.php.net/package/mongodb/1.5.3/windows. Я положил его в папку ext.

Composer.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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...