php - 显示数据库内容
问题描述
我正在尝试使用 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"
}
}
解决方案
您发布的问题对我有用:
我的设置: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);
推荐阅读
- laravel - 条带元数据未显示在仪表板上
- kubernetes - 向 gke 上运行的外部保险库服务验证 pod 时权限被拒绝
- google-cloud-platform - 将证书加载到 GKE 服务
- typo3 - 带作曲家的介绍包 (v. 10)
- c# - IDW10201:在不记名令牌中找不到范围或角色声明
- matrix - 矩阵指数任务
- c++ - 使用根到节点路径方法超过最低共同祖先时间限制
- algorithm - 大小为 2^n 的整数的线性时间排序
- javascript - 进入新服务器后,是否可以让您的机器人更改自己的昵称?
- google-cloud-platform - 实体组会成为 Firestore 数据存储模式中的“默认”选择吗?