MongoDB学习系列(2)--使用PHP访问MongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

第一部分:介绍

在Windows上安装最新 MongoDB步骤非常的简单,这里不做介绍。但是如果你安装的时候没有将MongoDB作为服务运行,每次你都要使用cmd切换到指定的目录下,然后在 cmd中启动MongoDB服务,然后再使用另外一个cmd运行Javascript Shell。所以我自己创建了2个.bat文件来简化这个操作。

clip_image001

Run_MongoDB_Service.bat代码为:

d:

cd d:\mongodb\bin

mongod --dbpath d:\mongodb\data

Run_MongoDB.bat代码为:

d:

cd d:\mongodb\bin

mongo

我们使用Javascript Shell操作都在Run_MongoDB的命令框中进行。

 

第二部分:安装PHP Driver for MongoDB

安装步骤:

步骤1.进入网站http://docs.mongodb.org/ecosystem/drivers/php/ 根据步骤和提示下载最新PHP Driver。很多博客和帖子都介绍,都是把“php_mongo.dll”复制到php extension的目录中。其实下载文件如下图所示,不仔细的同学就要迷糊了,我只要一个dll,怎么给我下载了这么多文件,而且我也不知道选择哪个?

clip_image002

步骤2:我 先将php_mongo-1.4.2-5.4-vc9.dll复制到php安装目录的ext中,5.4表明是我安装的PHP版本是5.4。所以大家要根据 自己的安装类型选择正确的dll。nts:not thread safe。具体情况我也不明白,我安装php时候下载的是线程安全类型,所以复制就不要复制有nts结尾的dll。另外x86_64是说明安装 MongoDB的版本支持64位。我安装的是32位,所以没有选择它。

步骤3:然后在php.ini添加了一行代码,引入php_mongo类库。

extension=php_mongo-1.4.2-5.4-vc9.dll

MongoDB for PHP Driver下载地址是存放在aws中s3上,访问速度还不错。

https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

步骤4:检验php driver for MongoDB是否成功,我们只要新建一个测试页面。输入代码

<?php

echo phpinfo();

?>

如果页面出现下面结果,表明安装成功。

clip_image003

第三部分:使用PHP连接MongoDB示例程序

初学MongoDB的人都习惯使用JavaScript Shell来操作MongoDB。通俗易懂,是入门学习MongoDB最佳的方法。下面演示使用PHP连接MongoDB,然后往数据库里面插入一条数据。代码如下:

<span style="font-size: 14px;"><?php
    /*echo phpinfo();*/
    $action=(!empty($_POST['btn_submit'])&&($_POST['btn_submit']==='Save'))?
    "save_article":
    "show_form";
    switch($action){
        case "save_article":
        try{
        $connection=new Mongo();
        //选择数据库
        $database=$connection->selectDB("myblogsite");
        //选择集合
        $collection=$database->selectCollection("articles");
         
        $article=array(
            'title'=>$_POST['title'],
            'content'=>$_POST['content'],
            'saved_at'=>new MongoDate()
        );
        //向集合插入记录
        $collection->insert($article);
        }catch(MongoConnectionException $e){
            die("Failed to connect the MongoDB" .$e->getMessage());
        }
        break;
        case "show_form":
        default:
        break;
    }
     
?>
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>PHP Connect the MongoDB Demo</title>
    </head>
    <body>
        <?php if($action==='show_form'): ?>
        <!--显示提交表单-->
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
             
            <div>
            <label for="title">Ttile:</label>
            <input type="text" name="title" id="title"/>
            </div>
            <div>
                <label for="content">Content:</label>
                <textarea name="content" id="content" cols="70" rows="10"></textarea>
            </div>
            <div>
                <input type="submit" value="Save" name="btn_submit" id="btn_submit"/>
            </div>
        </form>
        <?php else: ?>
        <!--显示提交成功内容-->
        <div>
            Article saved in MongoDB ._id:<?php echo $article['_id']; ?><br/>
            Blog title:<span><?php echo $article['title'];?></span>
                    <a href="test.php">Write another blog?</a>
                </div>
        <?php endif; ?>
    </body>
</html>
</span>

1.编辑界面

clip_image004

2.提交成功之后界面

clip_image005

最后我们可以使用JavaScript Shell查看刚插入成功的记录。截图如下:

clip_image006

 

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
11月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
129 0
|
9月前
|
SQL 关系型数据库 MySQL
如何学习PHP编程?
【10月更文挑战第2天】如何学习PHP编程?
141 9
|
6月前
|
NoSQL JavaScript 前端开发
Java访问MongoDB
Java访问MongoDB
64 21
|
7月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
147 15
|
9月前
|
NoSQL MongoDB PHP
MongoDB PHP
10月更文挑战第19天
74 2
MongoDB PHP
|
9月前
|
NoSQL 安全 Linux
MongoDB PHP 扩展
10月更文挑战第19天
70 0
MongoDB PHP 扩展
|
9月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
8月前
|
存储 NoSQL 网络协议
【赵渝强老师】MongoDB的安装与访问
本文介绍了在Linux系统上安装和部署MongoDB的详细步骤,包括安装依赖包、解压安装包、配置环境变量、创建数据目录及启动服务等。文中还提供了相关命令示例和注意事项,帮助用户顺利完成MongoDB的安装与配置。
230 0
|
10月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
128 2
|
10月前
|
NoSQL JavaScript Java
Java Python访问MongoDB
Java Python访问MongoDB
62 4

推荐镜像

更多