Can i use php with mongodb?

Introduction

If you’re using PHP to build applications, you may want to interact with a MongoDB database in your code. Fortunately, it’s easy to connect to a MongoDB database from a PHP script with just a bit of setup and configuration. In this article, we’ll show you how to set up a PHP and MongoDB connection so that you can access a MongoDB database in your apps.

Prerequisites

Before attempting to set up a connection between PHP and MongoDB, a few essential prerequisites need to be in place:

  • You’ll need to make sure that either XAMPP or WAMP is already installed and configured on your system.

  • MongoDB must be installed and configured on your machine.

  • You’ll need to have internet access for downloading some required files.

Install MongoDB PHP Driver

In this section, we’ll start the process of setting up a PHP and MongoDB connection by installing the MongoDB PHP driver on our system. To do this, we simply download the needed ‘DLL’ (Dynamic Link Library) file that can be found at this link: MongoDB PHP.

Can i use php with mongodb?

We’ll put this downloaded file in one of our PHP installation directories, which we’ll discuss in the next section.

Configure PHP and MongoDB in Windows

Next, let’s review how to configure PHP in a way that will allow a connection to MongoDB in a Windows environment.

  • First, we open the php.ini file found in the following XAMPP directory:C:\xampp\php

Can i use php with mongodb?

  • Next, we add the following text in the extensions section of the file: extension=php_mongodb.dll

  • Finally, we extract the ‘DLL’ file that we downloaded earlier into the following directory: C:\xampp\php\ext

Can i use php with mongodb?

Creating a MongoDB Sample Database

Our next step will be to create a sample dataset that we can use in this tutorial.

First, we’ll connect to a database named productdb.

Then we can perform an insertMany() operation to add some dummy documents that we can use for demo purposes. The operation will create the products collection and add these documents to it at the same time:

1
2
3
4
5
6
7
8

db.products.insertMany( [
      { item: "keyboard", qty: 20 },
      { item: "mouse", qty: 40 },
      { item: "power supply" , qty: 30 },
      { item: "cpu" , qty: 30 },
      { item: "video card" , qty: 20 },
      { item: "memory module" , qty: 30 }
   ] );

This operation will return a response that looks like the following:

1
2
3
4
5
6
7
8
9
10
11

{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("5e48b471389f0fd56b8b0554"),
                ObjectId("5e48b471389f0fd56b8b0555"),
                ObjectId("5e48b471389f0fd56b8b0556"),
                ObjectId("5e48b471389f0fd56b8b0557"),
                ObjectId("5e48b471389f0fd56b8b0558"),
                ObjectId("5e48b471389f0fd56b8b0559")
        ]
}

We can verify that the products collection was successfully created using this command: db.products.find().pretty();

We should get results that look like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

{
        "_id" : ObjectId("5e48b471389f0fd56b8b0554"),
        "item" : "keyboard",
        "qty" : 20
}
{
        "_id" : ObjectId("5e48b471389f0fd56b8b0555"),
        "item" : "mouse",
        "qty" : 40
}
{
        "_id" : ObjectId("5e48b471389f0fd56b8b0556"),
        "item" : "power supply",
        "qty" : 30
}
{
        "_id" : ObjectId("5e48b471389f0fd56b8b0557"),
        "item" : "cpu",
        "qty" : 30
}
{
        "_id" : ObjectId("5e48b471389f0fd56b8b0558"),
        "item" : "video card",
        "qty" : 20
}
{
        "_id" : ObjectId("5e48b471389f0fd56b8b0559"),
        "item" : "memory module",
        "qty" : 30
}

Connecting to MongoDB Database

In this section, we’ll create a simple PHP script that will connect to our productdb database.

Let’s start by creating a new directory named ‘phpmongo’ in the htdocs directory. We can then create a new PHP file called ‘test.php’ and add the following code to it:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<?php

    $mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
    $qry = new MongoDB\Driver\Query([]);

          $rows = $mng->executeQuery("productdb.products", $qry);

        foreach ($rows as $row) {

             foreach ($rows as $row) {
        echo nl2br("$row->item : $row->qty\n");
    }

    }

    ?>

The code shown above will read data from the ‘products’ collection that exists within the ‘productdb’ database. Let’s take a closer look at what’s happening in this script:

  • We use $qry = new MongoDB\Driver\Query([]); to create a MongoDB query object with an empty array. This tells MongoDB to read all possible data within the target collection.

  • We then execute the query against the specified collection name using the following line of code: $rows = $mng->executeQuery("productdb.products", $qry);

  • Finally, we iterate over all matched documents and print it out on the page.

The result should look like the following:

Can i use php with mongodb?

Conclusion

When you’re writing PHP code and need to interact with a database, MongoDB is a natural choice. Fortunately, it only takes a few simple steps to create a connection between PHP and MongoDB. In this article, we walked you through the complete process of creating a PHP and MongoDB connection, and we provided a code example that includes a typical MongoDB query. With these instructions and code examples to guide you, you’ll be able to write PHP code that can query your own MongoDB database.

Pilot the ObjectRocket Platform Free!

Try Fully-Managed CockroachDB, Elasticsearch, MongoDB, PostgreSQL (Beta) or Redis.

Get Started

How do I run PHP and MongoDB?

Getting Set Up to Run PHP with MongoDB.
Prerequisites..
Installation..
Installing Apache..
Installing PHP..
Installing the PHP Extension..
Installing the MongoDB PHP Library..
Start a MongoDB Cluster on Atlas..
Securing Usernames and Passwords..

How enable MongoDB in PHP INI?

Install manually After executing the previous commands, you have to make a change in your php. ini file. Open the file in your favorite text editor and extension_dir variable is pointing to the location of mongo.so. Also, add 'extension=mongo.so' in a file, save and restart your web server.

Can laravel use MongoDB?

Can I Use MongoDB With Laravel? Yes! In fact, MongoDB is a great choice for Laravel projects. As we get started with Laravel development using MongoDB, we'll work through an example of how to build a blog application.

How use MongoDB with PHP in laravel?

Laravel - MongoDB CRUD Tutorial.
Step 1: Create MongoDB database. ... .
Step 2: Install Laravel 5.6 Project. ... .
Step 3: MongoDB Database Configuration. ... .
Step 4: Install laravel-mongodb Package. ... .
Step 5: Create books Model. ... .
Step 6: Add Resource Route. ... .
Step 7: Create BookController. ... .
Step 8: Create Blade Files..