GNU/Linux >> Znalost Linux >  >> Cent OS

Jak se připojit k MySQL pomocí PHP

Úvod

Pro přístup a přidávání obsahu do MySQL databáze, musíte nejprve vytvořit spojení mezi databází a PHP skript.

V tomto tutoriálu se dozvíte, jak používat rozšíření MySQLi a datové objekty PHP pro připojení k MySQL . Tradiční starší funkce mysql_ jsou zastaralé a v této příručce se jimi nebudeme zabývat.

Předpoklady

  • Speciální oprávnění CREATE
  • Databáze MySQL
  • Rozšíření MySQLi nebo PDO

2 způsoby připojení k databázi MySQL pomocí PHP

Existují dva oblíbené způsoby připojení k databázi MySQL pomocí PHP:

  1. S rozšířením MySQLi od PHP
  2. Pomocí PHP Data Objects (PDO)

Příručka také obsahuje vysvětlení přihlašovacích údajů používaných ve skriptech PHP a potenciální chyby, na které můžete při používání MySQLi a PDO narazit.

Možnost 1:Připojení k MySQL s rozšířením MySQL Improved

MySQLi je rozšíření, které podporuje pouze databáze MySQL. Umožňuje přístup k novým funkcím nalezeným v systémech MySQL (verze 4.1. a vyšší) a poskytuje jak objektově orientované, tak procedurální rozhraní. Podporuje příkazy připravené na straně serveru, ale nikoli příkazy připravené na straně klienta.

Rozšíření MySQLi je součástí PHP verze 5 a novější.

PHP skript pro připojení k databázi MySQL pomocí procedurálního přístupu MySQLi je následující:

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

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

echo “Connected successfully”;

mysqli_close($conn);

?>

Vysvětlení přihlašovacích údajů

První částí skriptu jsou čtyři proměnné (název serveru, databáze, uživatelské jméno a heslo) a jejich příslušné hodnoty. Tyto hodnoty by měly odpovídat podrobnostem vašeho připojení.

Následuje hlavní funkce PHP mysqli_connect() . Naváže spojení se zadanou databází.

Následuje „příkaz if .“ Je to část kódu, která ukazuje, zda bylo navázáno spojení. Když se připojení nezdaří, zobrazí se zpráva Connection failed . kostka funkce vytiskne zprávu a poté ukončí mimo skript.

Pokud je připojení úspěšné, zobrazí se „Připojeno úspěšně .“

Po skončení skriptu se také uzavře spojení s databází. Pokud chcete kód ukončit ručně, použijte mysqli_close funkce.

Možnost 2:Připojení k MySQL pomocí PDO

PHP Data Objects (PDO) je rozšíření, které slouží jako rozhraní pro připojení k databázím. Na rozdíl od MySQLi může provádět libovolné databázové funkce a není omezen na MySQL. Umožňuje flexibilitu mezi databázemi a je obecnější než MySQL. PDO podporuje příkazy připravené na straně serveru i klienta.

PHP kód pro připojení k databázi MySQL prostřednictvím rozšíření PDO je:

<?php

$servername = "localhost";
$database = "database";
$username = "username";
$password = "password";
$charset = "utf8mb4";

try {

$dsn = "mysql:host=$servername;dbname=$database;charset=$charset";
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Syntaxe pověření

Nejprve máme pět proměnných (název serveru, databáze, uživatelské jméno, heslo a znakovou sadu) a jejich hodnoty. Tyto hodnoty by měly odpovídat podrobnostem vašeho připojení.

Název serveru bude localhost . Pokud jste připojeni k online serveru, zadejte název serveru tohoto serveru.

Proměnná charset říká databázi, ve kterém kódování bude přijímat a odesílat data. Doporučený standard je utf8mb4 .

Zkuste a chytněte bloky

Velkou výhodou PDO je, že má výjimku třídy, aby se postaral o případné problémy v databázových dotazech. Tyto problémy řeší začleněním zkus a chyť bloky.

Pokud při pokusu o připojení nastane problém, přestane běhat a pokusí se chytit a problém vyřešit. Chytit bloky lze nastavit tak, aby zobrazovaly chybové zprávy nebo spusťte alternativní kód .

První parametr v try and catch blok je DSN, což je zkratka pro data(base) source name . Je zásadní, protože definuje typ a název databáze spolu s dalšími doplňujícími informacemi.

V tomto příkladu používáme databázi MySQL. PDO však podporuje různé typy databází. Pokud máte jinou databázi, nahraďte tuto část syntaxe (mysql ) s databází, kterou používáte.

Další je CHOP variabilní. Tato proměnná vytvoří připojení k databázi. Má tři parametry:

  1. Název zdroje dat (dsn)
  2. Uživatelské jméno pro vaši databázi
  3. Heslo k vaší databázi

Následuje metoda setAttribute přidání dvou parametrů do PDO:

  1. PDO::ATTR_ERRMODE
  2. PDO::ERRMODE_EXCEPTION

Tato metoda dává PDO pokyn ke spuštění výjimky v případě, že dotaz selže.

Přidejte ozvěnu „Připojení je v pořádku .“ pro potvrzení navázání připojení.

Návrat proměnnou PDO pro připojení k databázi.

Po vrácení proměnné PDO definujte PDOException v úlovku blokovat tím, že mu přikážete zobrazit zprávu, když se připojení nezdaří.

Potenciální chyby s MySQLi a PDO

Nesprávné heslo

Heslo v PHP kódu musí odpovídat heslu v databázi. Pokud se tyto dva neshodují, nelze navázat spojení s databází. Zobrazí se chybová zpráva, že připojení selhalo .

Možná řešení :

  1. Zkontrolujte podrobnosti databáze a ujistěte se, že je heslo správné.
  2. Ujistěte se, že je k databázi přiřazen uživatel.

Nelze se připojit k serveru MySQL

PHP se nemusí být schopno připojit k serveru MySQL, pokud není název serveru rozpoznán. Ujistěte se, že název serveru je nastaven na localhost .

V případě dalších chyb se nezapomeňte podívat do error_log soubor, který vám pomůže při řešení jakýchkoli problémů. Soubor je umístěn ve stejné složce, kde je spuštěn skript.


Cent OS
  1. Jak nainstalovat MySQL 8.0 na CentOS/RHEL 8

  2. Jak zálohovat a obnovit databázi MySQL pomocí příkazového řádku

  3. Jak nainstalovat databázový server MySQL na CentOS

  1. Jak se vzdáleně připojit k databázi MySQL z počítače

  2. Jak se vzdáleně připojit k MySQL

  3. Jak obnovit databázi MySQL pomocí příkazu v SSH?

  1. Jak nainstalovat databázový server MySQL 8 na CentOS 8

  2. Jak vytvořit databázi v MySQL pomocí příkazového řádku

  3. Jak nainstalovat databázi MySQL pomocí Yum groupinstall na CentOS