---
title: MySQL Connect
description: "> PHP 5 and later can work with a MySQL database using: > > > > PHP 5 ба түүнээс дээшхи хувилбарууд нь дараахь зүйлийг ашиглан MySQL мэдээллийн баазтай ажиллах боломжтой. > > > > - **MySQLi extension** (the “i” stands…"
url: "https://apprentice.mn/docs/mysql-connect/"
updated: "2021-07-20"
category: PHP
---

# MySQL Connect

> PHP 5 and later can work with a MySQL database using:
>
>
>
> PHP 5 ба түүнээс дээшхи хувилбарууд нь дараахь зүйлийг ашиглан MySQL мэдээллийн баазтай ажиллах боломжтой.
>
>
>
> - **MySQLi extension** (the “i” stands for improved)
>   **MySQLi өргөтгөл** (“i” нь сайжруулсан гэсэн үг)
> - **PDO (PHP Data Objects)**
>
>
>
> Earlier versions of PHP used the MySQL extension. However, this extension was deprecated in 2012.
>
>
>
> PHP-ийн өмнөх хувилбарууд MySQL өргөтгөлийг ашиглаж байсан. Гэхдээ энэ өргөтгөлийг 2012 онд хүчингүй болгосон.

---

> ## Should I Use MySQLi or PDO?
>
>
>
> Би MySQLi эсвэл PDO ашиглах ёстой юу?
>
>
>
> If you need a short answer, it would be “Whatever you like”.
>
>
>
> Хэрэв танд богино хариулт хэрэгтэй бол энэ нь “Та юу дуртайгаа” бичиж болно.
>
>
>
> Both MySQLi and PDO have their advantages:
>
>
>
> MySQLi ба PDO хоёулаа давуу талтай байдаг.
>
>
>
> PDO will work on 12 different database systems, whereas MySQLi will only work with MySQL databases.
>
>
>
> PDO нь 12 өөр мэдээллийн баазын систем дээр ажиллах бол MySQLi нь зөвхөн MySQL мэдээллийн сантай ажиллах болно.
>
>
>
> So, if you have to switch your project to use another database, PDO makes the process easy. You only have to change the connection string and a few queries. With MySQLi, you will need to rewrite the entire code – queries included.
>
>
>
> Тиймээс, хэрэв та төслөө өөр мэдээллийн сан ашиглахаар өөрчлөх шаардлагатай бол PDO нь процессыг хялбаршуулдаг. Та зөвхөн холболтын мөр болон цөөн хэдэн асуултыг өөрчлөх хэрэгтэй. MySQLi-ийн тусламжтай та кодыг бүхэлд нь дахин бичих шаардлагатай болно.
>
>
>
> Both are object-oriented, but MySQLi also offers a procedural API.
>
>
>
> Хоёулаа объект хандалттай боловч MySQLi нь процедурын API-г санал болгодог.
>
>
>
> Both support Prepared Statements. Prepared Statements protect from SQL injection, and are very important for web application security.
>
>
>
> Хоёулаа Бэлтгэсэн мэдэгдлийг дэмжиж байна. Бэлтгэсэн мэдэгдэл нь SQL алдаанаас хамгаалдаг бөгөөд вэб програмын аюулгүй байдалд маш чухал үүрэг гүйцэтгэдэг.

---

> ## MySQL Examples in Both MySQLi and PDO Syntax
>
>
>
> ## MySQLi ба PDO Syntax хоёулангийнх нь MySQL жишээ
>
>
>
> In this, and in the following chapters we demonstrate three ways of working with PHP and MySQL:
>
>
>
> Энэ болон дараах бүлгүүдэд бид PHP болон MySQL-тэй ажиллах гурван аргыг харуулав:
>
>
>
> - MySQLi (object-oriented)
> - MySQLi (procedural)
> - PDO

---

> ## MySQLi Installation
>
>
>
> ## MySQLi суулгалт
>
>
>
> For Linux and Windows: The MySQLi extension is automatically installed in most cases, when php5 mysql package is installed.
>
>
>
> Linux болон Windows-ийн хувьд: MySQLi өргөтгөл нь ихэнх тохиолдолд php5 mysql багц суулгасан тохиолдолд автоматаар суулгагддаг.
>
>
>
> For installation details, go to:
>
>
>
> Суулгацын дэлгэрэнгүй мэдээллийг дараахь хаягаас авна уу:
>
>
>
> [http://php.net/manual/en/mysqli.installation.php](http://php.net/manual/en/mysqli.installation.php)

---

> ## PDO Installation
>
>
>
> ## PDO Суулгалт
>
>
>
> For installation details, go to:
>
>
>
> Суулгацын дэлгэрэнгүй мэдээллийг дараахь хаягаас авна уу:
>
>
>
>  [http://php.net/manual/en/pdo.installation.php](http://php.net/manual/en/pdo.installation.php)

---

   

---

## Open a Connection to MySQL

## MySQL руу холболт нээх

Before we can access data in the MySQL database, we need to be able to connect to the server:

MySQL мэдээллийн бааз дахь өгөгдөлд хандахын өмнө бид сервертэй холбогдох боломжтой байх ёстой.

### Example Жишээ

### (MySQLi Object-Oriented)

      `<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>`

**Note on the object-oriented example above:**

**Дээрх объект хандсан жишээн дээр анхаарна уу:**

$connect_error was broken until PHP 5.2.9 and 5.3.0. If you need to ensure compatibility with PHP versions prior to 5.2.9 and 5.3.0, use the following code instead:

PHP 5.2.9 ба 5.3.0 хүртэл $ connect_error эвдэрсэн. Хэрэв танд 5.2.9 ба 5.3.0 хувилбаруудаас өмнө PHP хувилбаруудтай нийцэж байгаа эсэхийг баталгаажуулах шаардлагатай бол дараах кодыг ашиглана уу.

// Check connection
if (mysqli_connect_error()) {
  die(“Database connection failed: ” . mysqli_connect_error());
}

### Example Жишээ

### (MySQLi Procedural)

      `<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>`

### Example (PDO)

     `<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>`

**Note:** In the PDO example above we have also **specified a database (myDB)**. PDO require a valid database to connect to. If no database is specified, an exception is thrown.

**Тэмдэглэл:** Дээрх PDO жишээнд бид мэдээллийн бааз (myDB) -ийг зааж өгсөн болно. PDO-д холбогдохын тулд хүчин төгөлдөр мэдээллийн сан шаардагдана. Хэрэв мэдээллийн баазыг заагаагүй бол үл хамаарах зүйл оруулна.

**Tip:** A great benefit of PDO is that it has an exception class to handle any problems that may occur in our database queries. If an exception is thrown within the try{ } block, the script stops executing and flows directly to the first catch(){ } block.

**Зөвлөгөө:** PDO-ийн давуу тал нь манай мэдээллийн сангаас гарч болзошгүй аливаа асуудлыг шийдвэрлэх онцгой ангитай байдагт оршино. Хэрэв try {} блок дотор онцгой тохиолдол гарсан бол скрипт нь гүйцэтгэлийг зогсоож, шууд catch () {} блок руу шууд урсана.

---

## Close the Connection

## Холболтыг хаах

The connection will be closed automatically when the script ends. To close the connection before, use the following:

Скрипт дуусахад холболт автоматаар хаагдах болно. Өмнө нь холболтыг хаахын тулд дараахь зүйлийг ашиглана уу.

### MySQLi Object-Oriented:

      `$conn->close();`

### MySQLi Procedural:

     `mysqli_close($conn);`

### PDO:

     `$conn = null;`        [https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect)[https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect](https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect)[https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect](https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fmysql-connect%2F&linkname=MySQL%20Connect)[https://www.addtoany.com/share](https://www.addtoany.com/share)
