第一部分:介绍

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

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,怎么给我下载了这么多文件,而且我也不知道选择哪个?

步骤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();

?>

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

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

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

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

1.编辑界面

2.提交成功之后界面

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

MongoDB学习系列(2)--使用PHP访问MongoDB的更多相关文章

  1. MongoDB学习笔记(1):MongoDB的安装和说明

    MongoDB学习笔记(1):MongoDB的安装和说明 快速开始 下载地址 官网下载: https://www.mongodb.com/download-center?jmp=nav#communi ...

  2. MongoDB学习比较-07 C#驱动操作MongoDB

    下载驱动 驱动的下载有两种方式:一种是在C#项目中通过NuGet进行安装,另一种是通过下面的链接:https://github.com/mongodb/mongo-csharp-driver/rele ...

  3. MongoDB初探系列之二:认识MongoDB提供的一些经常使用工具

    在初探一中,我们已经能够顺利的将MongoDB在我们自己的机器上跑起来了. 可是在其bin文件夹以下另一些我们不熟知的工具.接下来,将介绍一下各个小工具的用途以及初探一中MongoDB在data文件夹 ...

  4. MongoDB学习【四】—pymongo操作mongodb数据库

    一.pymongodb的安装 Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接. pip安装 pip 是一个通用的 Python 包管理工具, ...

  5. MongoDB学习系列(3)--解决MongoDB Unexpected Shutdown问题

    晚上准备继续学习PHP+MongoDB,点击Run_MongoDB_Service.bat文件,这个文件是我写的bat文件,就是快速启动MongoDB.但是命令行一闪而过,我很奇怪.昨天晚上写代码还是 ...

  6. MongoDB学习系列(1)--入门介绍

    MongoDB是一款为Web应用程序设计的面向文档结构的数据库系统. MongoDB贡献者是10gen公司.地址:http://www.10gen.com 1.MongoDB主要特性: 1.1文档数据 ...

  7. mongodb学习(2)--- nodeJS与MongoDB的交互(使用mongodb/node-mongodb-native)

    转载:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html 目录 简介 MongoDB安装(windows) MongoDB基本语法和操作入门(mo ...

  8. MongoDB学习第七篇 --- sql和mongodb对比

    一.术语和概念的对比 SQL MongoDB database database     row document or BSON document column field index index ...

  9. 【MongoDB学习之五】Java中使用MongoDB

    环境 MongoDB 3.0 CentOS6.5_x64 相关jar:mongo-java-driver-3.0.0.jar package com.mongodb; import java.util ...

随机推荐

  1. 懒加载lazyload

    什么是懒加载 懒加载就是当你做滚动到页面某个位置,然后再显示当前位置的图片,这样做可以减少页面请求. 懒加载:主要目的是作为服务器前端的优化,减少请求数或延迟请求数,一些图片非常多的网站中非常有用,在 ...

  2. db2基础

    DB2知识文档 一.db2 基础 基本语法 注释:"--"(两个减号) 字符串连接:"||" 如set msg='aaaa'||'bbbb',则msg为'aaa ...

  3. Torch7学习笔记(一)CmdLine

    该类主要为了提供一种方便解析参数的框架,对于每个实验尤其是神经网络中要调参数上.同时还可以把输出重定向到log文件中. 一般用法: cmd = torch.CmdLine() cmd:text() c ...

  4. if [ "$变量1"x = "$变量2"x ]中x的含义

    问题:if [ "$变量1"x = "$变量2"x ]中x的含义是? 答:“x”字符可以为任意字符,用于防止变量为空时,某些版本的bash中会产生错误: 在一个 ...

  5. HOJ 1797 Red and Black

    传送门  http://acm.hit.edu.cn/hoj/problem/view?id=1797 总体的思路是遍历可以到达的' . ',将其对应的vis数组化为1,然后统计所有为1的vis项; ...

  6. ffmpeg编译与移植问题

    1.下载ffmpeg. 下载网址:http://www.ffmpeg.org/download.html 2.解压缩 tar -zxvf ffmpeg-2.0.1.tar.gz 3.配置,生成Make ...

  7. SQL Server恢复软件 Stellar Phoenix sql recovery

    SQL Server恢复软件 Stellar Phoenix sql recovery http://www.stellarinfo.com/ http://www.stellarinfo.com/ ...

  8. Unity 5.3.5p8 C#编译器升级

    Unity 5.3.5p8的C#编译器升级 注意:该版本是单独升级C#编译器的测试版!请使用文中提供的下载链接! 基于Unity 5.3.5p8的C#编译器升级!下载链接 试用该版本前请先备份项目,遇 ...

  9. 【直播】APP全量混淆和瘦身技术揭秘

    [直播]APP全量混淆和瘦身技术揭秘 近些年来移动APP数量呈现爆炸式的增长,黑产也从原来的PC端转移到了移动端,通过逆向手段造成数据泄漏.源码被盗.APP被山寨.破解后注入病毒或广告现象让用户苦不堪 ...

  10. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...