Въведение в PHP връзка с база данни

Базата данни е един от важните компоненти на всеки език за програмиране. За да се справим с динамичен проект и управление на данни, трябва да имаме базата данни. PHP поддържа различни видове връзки към база данни с него. MySQL е една от най-използваните релационни бази данни и се използва най-вече с PHP. Като се има предвид терминът връзка с база данни в PHP, самият MySQL има различни начини да осъществява връзки в приложение, за да играе с операциите с базата данни. След свързването на PHP-MYSQL можем да правим различни неща като - вмъкване на записи; изтриване на записи; актуализиране на записите и т.н. В тази статия ще видим връзката към базата данни по различни начини, използвайки езика на PHP, така че продължавайте да четете, за да го грабнете правилно.

Как да свържете PHP база данни

Преди да направим връзка, трябва да имаме подробности като - име на хост, потребителско име на база данни, парола за база данни, порт (ако е приложение) и др. Всеки език за програмиране има свой уникален начин за осъществяване на връзка с базите данни и игра с това. База данни в PHP, не чак толкова голяма задача, както виждаме в език за програмиране като JAVA. Има много прост код на няколко реда, за да се свържете с базата данни. На езика на PHP можем да осъществим връзка с база данни по-долу споменат начин:

MySQL

Това ще работи само с базата данни MySQL. Това разширение следва стария традиционен начин на комуникация с база данни. Сега всяка следваща версия на PHP е оттеглила този подход.

MySQLi разширение

Това ще работи само с базата данни на MySQL, но това е подобрена версия на MySQL.

ЗНП

Работи с различни бази данни. Обикновено ние считаме това за най-добрият подход от тези три. Този се счита за обектно-ориентиран начин за комуникация с MySQL базата данни. В момента, в който създаваме връзка, той ни дава обект да се справим със свързаните с MySQL.

Примери:

Сега е време да видим как можем да използваме гореспоменатото в PHP. Ще преминем през действителния код на PHP за извършване на тази работа.

PHP MYSQL връзка с помощта на MYSQL

$servername = "localhost";
$username = "root";
$password = "";
$link = mysql_connect($servername, $username, $password);
if (!$link) (
die('Connection failed: ' . mysql_error());
)else(
echo "Database Connected successfully"; // in case of success
)

Връзката може да бъде осъществена успешно в долната версия на PHP. Но ако използваме този код, той казва Deprected: mysql_connect () : Разширението MySQL е оттеглено и в бъдеще ще бъде премахнато: вместо това използвайте mysqli или PDO.

Ето защо трябва да избягваме използването на тази техника за осъществяване на връзка с база данни на PHP език към MySQL базата данни.

PHP MYSQL връзка с помощта на MYSQLi

Можем да осъществим връзката с помощта на MYSQLi по два начина.

MYSQLi обектно-ориентиран

<_?php
$servername = "localhost";
$username = "root";
$password = "";
// Database Connection Code
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) (
die("Connection failed: " . $conn->connect_error); // in case of error
)else(
echo "Database Connected successfully"; // in case of success
)
?>

Сега имаме $ conn, обектът за връзка с базата данни. Можем да използваме този обект за цялата комуникация с базата данни.

// selecting database "test1"
mysqli_select_db($conn, "test1");

Можете също така да предадете базата данни като аргумент в момента на установяване на връзката.

$ conn = new mysqli ($ servername, $ username, $ password, $ databaseName);

MYSQLi Функция (процедурен) начин

$servername = "localhost";
$username = "root";
$password = "";
// Database Connection Code
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) (
die("Connection failed: " . mysqli_connect_error()); // in case of error
)else(
echo "Database Connected successfully"; // in case of success
)

Можем да използваме и другата операция като връзка с база данни и друга, както беше споменато по-горе.

PDO PHP база данни

Отново това е обектно-ориентиран начин за свързване на база данни в PHP. С този подход можем да използваме различни видове бази данни.

$servername = "localhost";
$username = "root";
$password = "";
try (
// Database Connection Code
$conn = new PDO("mysql:host=$servername;dbname=test1", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// in case of success
echo "Connected successfully";
)
catch(PDOException $e)
(
// in case of error
echo "Connection failed: " . $e->getMessage();
)

Сега въпросът е трябва ли да използвам MYSQLi или PDO

И двете са обектно-ориентираният начин за свързване на база данни с PHP. Можем да разгледаме това като настоящ и бъдещ начин на свързване с базата данни. Но изборът от тези две е свързан с това каква нужда имате с вашия проект. Ако има само MySQL база данни, можете да отидете с MYSQLi. Но в момента, в който възможността на базата данни се промени, от MySQL към MySQL SERVER или всеки друг доставчик, ЗНП ще бъде най-добрият вариант. И двата подхода поддържат подготвеното изявление, докато пишат заявки за извършване на операции с база данни. Подготвеното изявление е подход, чрез който можем да защитим нашето приложение или базата данни от атака SQL инжектиране.

заключение

И така, какво имаш в ума си. След като се запознахме с всичките 3 споменати по-горе типа техники за свързване на база данни, стигнахме до извода, че PDO е най-добрият подход за напредък. Идеята зад това да се постави отгоре е, че можем да използваме този подход към връзката, не само MySQL базата данни, но и другата база данни като MySQL Server. Трябва да избягваме използването на mysql_connect (), за да сме сигурни, че кодът ни е траен и готов за бъдещето.

Препоръчителни статии

Това е ръководство за връзката към базата данни на PHP. Тук обсъждаме как да свържете php, PHP MYSQL връзка с помощта на MYSQL, PHP MYSQL връзка с помощта на MYSQLi, PDO PHP връзка с база данни и др. Можете също да разгледате следните статии, за да научите повече -

  1. Как да свържете базата данни с PHP?
  2. Предимства на PHP
  3. Как да свържете база данни в Java?
  4. Как да свържете база данни с MySQL?
  5. PHP рекурсивна функция
  6. Рекурсивна функция в С