


Introduction to PHP and MongoDB | Security | Detailed explanation of M+PHP application examples_PHP tutorial
1. Introduction to MongoDB
MongoDB (name comes from "humongous") is a scalable, high-performance, open source, schema-free, document-oriented database that integrates It combines the advantages of document databases, key-value stores, and relational databases. Official site: http://www.mongodb.org/, MongoDB features:
•Document-oriented storage (JSON-like data model is simple and powerful)
•Dynamic query
•Full index support, Extensions to internal objects and embedded arrays
• Query record analysis
• Fast, in-place updates
• Efficient storage of binary large objects (such as photos and videos)
• Replication and failover support
•Auto-Sharding supports cloud-level scalability
•MapReduce supports complex aggregation
•Business support, training and consulting
2. Install MongoDB
Installing MongoDB is very simple. You only need to download the compressed package, decompress it and run the command. Download address: http://www.mongodb. org/downloads, this article is for Windows platform, MongoDB running command: >bin/mongod. Tip: First create a folder to store data. MongoDB’s default data storage directory is /data/db/ (or c:datadb). Of course, you can also change it to a different directory by specifying the --dbpath parameter, eg:
>bin/mongod --dbpath=d:mgdatadb
3. Install MongoDB PHP extension
Download the PHP extension according to your PHP version: http://github.com/mongodb/mongo-php-driver/downloads , Tips:
1. VC6 is suitable for Apache, VC9 is suitable for IIS;
2. Thread safe is suitable for PHP running in module mode, and Non-thread safe is suitable for CGI running mode.
Modify php.ini, add: extension=php_mongo.dll, and restart the web server.
4. Examples related to PHP testing and MongoDB
1. Connect to Mongo server
//Connect to localhost:27017
$conn = new Mongo();
//Connect to the remote host default port
$conn = new Mongo('test.com');
//Connect to the remote host port 22011
$conn = new Mongo('test.com:22011');
//MongoDB has a user Name and password
$conn = new Mongo("mongodb://${username}:${password}@localhost")
//MongoDB has a username and password and specifies the database blog
$conn = new Mongo("mongodb://${username}:${password}@localhost/blog");
//Multiple servers
$conn = new Mongo("mongodb://localhost:27017,localhost :27018");
?>
< ;?php
//Connect to localhost:27017
$conn = new Mongo();
//Connect to the default port of the remote host
$conn = new Mongo('test.com');
//Connect to the remote host port 22011
$conn = new Mongo('test.com:22011');
//MongoDB has a username and password
$conn = new Mongo("mongodb:/ /${username}:${password}@localhost")
//MongoDB has a username and password and specifies the database blog
$conn = new Mongo("mongodb://${username}:${password }@localhost/blog");
//Multiple servers
$conn = new Mongo("mongodb://localhost:27017,localhost:27018");
?>
2. Specify the database and data set name (table name)
//Select the database blog
$db = $conn->blog;
//Specify the result set (table name: users)
$collection = $db->users;
?>
//Select the database blog
$db = $conn->blog;
//Specify the result set (table name: users)
$collection = $db-> ;users;
?>
3. CRUD
//Add new
$user = array('name' => 'caleng', 'email' => 'admin@admin.com ');
$collection->insert($user);
//Modify
$newdata = array('$set' => array("email" => "test@test .com"));
$collection->update(array("name" => "caleng"), $newdata);
//Delete
$collection->remove(array ('name'=>'caleng'), array("justOne" => true));
//Find
$cursor = $collection->find();
var_dump( $cursor);
//Find one
$user = $collection->findOne(array('name' => 'caleng'), array('email'));
var_dump( $user);
?>
//Add
$user = array ('name' => 'caleng', 'email' => 'admin@admin.com');
$collection->insert($user);
//Modify
$ newdata = array('$set' => array("email" => "test@test.com"));
$collection->update(array("name" => "caleng" ), $newdata);
//Delete
$collection->remove(array('name'=>'caleng'), array("justOne" => true));
//Find
$cursor = $collection->find();
var_dump($cursor);
//Find one
$user = $collection->findOne(array(' name' => 'caleng'), array('email'));
var_dump($user);
?>
4. Close the connection
$conn->close();
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.

In PHP, you can effectively prevent CSRF attacks by using unpredictable tokens. Specific methods include: 1. Generate and embed CSRF tokens in the form; 2. Verify the validity of the token when processing the request.

The... (splat) operator in PHP is used to unpack function parameters and arrays, improving code simplicity and efficiency. 1) Function parameter unpacking: Pass the array element as a parameter to the function. 2) Array unpacking: Unpack an array into another array or as a function parameter.

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

Strict types in PHP are enabled by adding declare(strict_types=1); at the top of the file. 1) It forces type checking of function parameters and return values to prevent implicit type conversion. 2) Using strict types can improve the reliability and predictability of the code, reduce bugs, and improve maintainability and readability.
