sql >> Databáze >  >> RDS >> Mysql

Jak propojit databázi MySQL s webovou stránkou PHP

MySQL je velmi populární systém pro správu databází, který dokáže podporovat projekty všech velikostí. Jeho schopnost zpracovávat obrovské objemy dat, aniž by se zapotil, je jednou z jeho největších předností. Propojte MySQL s PHP kódem, můžete využít jednu ze tří metodologií.

V PHP existují tři typy metod pro připojení databáze MySQL přes backend:

  • MySQL
  • MySQLi
  • CHOP

mysql() je nyní zastaralé kvůli bezpečnostním problémům, jako je SQL injection atd., ale další dva se aktivně používají.

MySQLi

MySQLi je rozhraní API používané jako funkce konektoru k propojení backendu aplikace PHP s databází MySQL. Funguje stejně jako předchozí verze, ale je bezpečnější a rychlejší a poskytuje lepší sadu funkcí a rozšíření. MySQLi bylo představeno s PHP 5.0.0 a ovladače byly nainstalovány v 5.3.0. API bylo navrženo tak, aby podporovalo MySQL od verze 4.1.13 po novější.

CHOP

Rozšíření PHP Data Objects (PDO) je databázová abstraktní vrstva. Je to jako rozhraní pro backend pro interakci s databází MySQL a provádění změn bez jakékoli změny v kódu PHP. Také vám dává svobodu pracovat s více databázemi. Hlavní výhodou používání PDO je, že váš kód zůstává jednoduchý a přenosný.

V tomto článku budu diskutovat o tom, jak připojit databázi MySQL na různé servery, a také vám poskytnu přehled připojení databáze pomocí PDO.

  1. Připojte MySQL pomocí serveru Localhost Server
  2. Připojte MySQL pomocí Cloudways Server
  3. Připojte MySQL pomocí PDO
  4. Připojte MySQL pomocí vzdálené MySQL

Stáhněte si Cheat Sheet MYSQL nyní

Do vaší doručené pošty vám zašleme odkaz ke stažení.

Děkuji

Vaše e-kniha je na cestě do vaší doručené pošty.


Vytvoření databáze MySQL na Localhost

Než začnete budovat připojení PHP k databázi MySQL, musíte vědět, co je PHPMyAdmin. Je to ovládací panel, ze kterého můžete spravovat databázi, kterou jste vytvořili. Otevřete prohlížeč a přejděte na localhost/PHPMyAdmin nebo klikněte na „Admin“ v uživatelském rozhraní XAMPP.

Když jste poprvé nainstalovali XAMPP, vytvořilo se pouze uživatelské jméno pro přístup, nyní k němu musíte přidat heslo sami. K tomu musíte přejít do Uživatelského účtu, kde je uživatel stejný jako ten, který je zobrazen na tomto obrázku:

Nyní klikněte na Upravit oprávnění a přejděte na Změnit heslo správce, zadejte své heslo a uložte jej. Toto heslo si zapamatujte, protože bude použito pro připojení k vaší databázi.

Poznámka:Pro přístup k databázím na localhost není nutné měnit heslo. Je to dobrá praxe, a proto jsme použili heslo.

Vytvořit databázi

Nyní se vraťte na domovskou stránku PHPMyAdmin. Klikněte na Nové pro vytvoření nové databáze.

V novém okně pojmenujte databázi podle svých potřeb, já ji pojmenuji „cvičení “. Nyní vyberte Collation jako utf8_general_ci, protože jej používáme pro účely učení a bude zpracovávat všechny naše dotazy a data, kterými se budeme zabývat v této sérii výukových programů. Nyní klikněte na Vytvořit a vaše databáze bude vytvořena.

Nově vytvořená databáze bude nyní prázdná, protože v ní nejsou žádné tabulky. Tomu se budu věnovat v nadcházející sérii, kde se naučíme vytvářet tabulky a vkládat do nich data. V tomto tutoriálu připojíme tuto databázi k localhost pomocí PHP

Vytvořte složku v htdocs

Nyní vyhledejte složku, do které jste nainstalovali XAMPP, a otevřete složku htdocs (obvykle c:/xampp). Vytvořte novou složku v c:/xampp/htdocs/ a pojmenujte ji „praxe“, do této složky umístíme webové soubory. Proč jsme vytvořili složku v htdocs? XAMPP používá složky v htdocs ke spouštění a spouštění vašich stránek PHP.

Poznámka:Pokud používáte WAMP, přidejte svou cvičnou složku do složky c:/wamp/www.

Vytvořte soubor pro připojení k databázi v PHP

Vytvořte nový soubor PHP a pojmenujte jej db_connnection.php a uložit to. Proč vytvářím samostatný soubor pro připojení k databázi? Protože pokud jste vytvořili více souborů, do kterých chcete vložit data nebo vybrat data z databází, nemusíte pokaždé psát kód pro připojení k databázi.

<?php

function OpenCon()
 {
 $dbhost = "localhost";
 $dbuser = "root";
 $dbpass = "1234";
 $db = "example";


 $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);

 
 return $conn;
 }
 
function CloseCon($conn)
 {
 $conn -> close();
 }
   
?>

Zde je vysvětlení proměnné, kterou jsme použili v našem souboru db_connection:

  1. $dbhost bude hostitel, na kterém běží váš server, obvykle je to localhost.
  2. $dbuser bude uživatelské jméno, tj. root a $dbpass bude heslo, které je stejné, jaké jste použili pro přístup k vašemu PHPMyAdmin.
  3. $dbname bude název vaší databáze, kterou jsme vytvořili v tomto tutoriálu.

Stačí jej zahrnout pomocí vlastní funkce PHP include (zahrňte ‘connection.php’) v horní části kódu a zavolejte jeho funkci a použijte ji. Pomáhá také, když přesouváte umístění projektu z jednoho počítače na druhý a musíte změnit hodnoty v jednom souboru a všechny změny se automaticky použijí na všechny ostatní soubory.

Vytvořte nový soubor PHP pro kontrolu připojení k databázi

Vytvořte nový soubor PHP pro připojení k databázi. Pojmenujte jej index.php a přidejte tento kód do tohoto souboru.

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

Spusťte to!

Nyní otevřete prohlížeč a přejděte na localhost/practice/index.php a měli byste vidět tuto obrazovku:

Potvrzující zpráva

Gratulujeme! Úspěšně jste propojili svou databázi se svým localhostem! Pokud tuto obrazovku nevidíte, zkontrolujte, zda jste v souboru db_connection.php udělali vše správně.

Vytvoření databáze MySQL na serveru Cloudways

Pro účely tohoto tutoriálu předpokládám, že máte na webovém serveru nainstalovanou PHP aplikaci. Moje nastavení je:

  • PHP 7.3
  • MySQL

Rozhodl jsem se hostovat svou PHP aplikaci na spravovaných serverech Cloudways, protože mám vysoce optimalizovaný hostingový stack a žádné potíže se správou serveru. Cloudways si můžete zdarma vyzkoušet tak, že se přihlásíte k účtu a následuje tento jednoduchý GIF pro nastavení serveru a aplikace PHP. Podívejte se na hostingové plány Cloudways pro AWS, Google Compute Engine, Vultr, Linode a Digital Ocean, abyste našli to pravé pro vás.

Po úspěšném spuštění aplikace PHP na Cloudways přejděte na kartu aplikace a zkontrolujte podrobnosti o databázi a také klikněte na tlačítko pro spuštění správce databáze .

Připojte se k databázi MySQL

Chcete-li nastavit připojení k databázi, použijte mysql_connect funkce. Tato funkce vrací ukazatel (také známý jako popisovač databáze) na připojení k databázi. Tento popisovač bude později použit v kódu. Jakmile budete mít rukojeť, nezapomeňte přidat přihlašovací údaje k databázi.

  • Vytvořte nový soubor PHP a pojmenujte jej db_connnection.php a uložit to.

Proč vytvářím samostatný soubor pro připojení k databázi? Protože pokud jste vytvořili více souborů, do kterých chcete vkládat data nebo vybírat data z databází, nemusíte pokaždé psát kód pro připojení k databázi. Stačí ji zahrnout pomocí vlastní funkce PHP include (include ‘connection.php’) na začátek kódu a zavolat její funkci a použít ji.

V tomto okamžiku máte možnost buď použít procedurální dotaz na připojení MySQLi nebo připojení k databázi založené na PHP PDO:

Procedurální dotaz MySQLi

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



// Create connection

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



// Check connection

if (!$conn) {

   die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

Propojení databáze MySQL s PHP pomocí PDO

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



try {

   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db);

   // 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();

   }

?>

Zkontrolujte připojení

<?php

include 'db_connection.php';

 

echo "Connected Successfully";

mysqli_close($conn);

?>

Pro PDO Zavřete připojení takhle

$conn = null;

Vzdálené MySQL

Pro vzdálené připojení PHP MySQL Přihlaste se do platformy Cloudways pomocí svých přihlašovacích údajů. Klikněte na „Servery“ v horní liště nabídek. Poté klikněte na cílový server ze seznamu.

  • Dále přejděte na možnost nabídky Zabezpečení v levé nabídce a poté klikněte na kartu MySQL.
  • Přidejte IP adresu do textové oblasti „Přidat IP do seznamu povolených“ a klikněte na tlačítko „Přidat“.
  • Pokud máte více IP adres, opakujte proces.
  • Až budete hotovi, kliknutím na tlačítko „Uložit změny“ dokončete změny

Po úspěšném nastavení IP Whitelisting nastavte IP adresu ve spojení a spusťte dotaz.

Nejlepší nástroje pro správu MySQL

MySQL Workbench

MySQL Workbench je vizuální nástroj pro návrháře databází, vývojáře a správce databází. MySQL Workbench poskytuje informační modelování, vylepšení SQL a komplexní organizační zařízení pro uspořádání serverů, organizaci klientů, posilování a mnoho dalšího. MySQL Workbench je přístupný na Windows, Linux a Mac OS X.

MySQL Workbench je velmi oblíbený správce databází MySQL pro vývojáře. Poskytuje užitečné nástroje pro správu, jako je konfigurace serveru, správa uživatelů a mnoho dalších. Je k dispozici pro operační systémy MAC OS, Linux a Windows.

Všem začínajícím vývojářům, kteří se chtějí naučit administraci databáze, doporučujeme, aby ji využili ve svůj prospěch. Funkce správy jim pomohou v plném zvládnutí administrace databáze.

Klady

  1. Ukládá příkazy SQL
  2. Poskytuje offline přístup ke vzdáleným databázím
  3. Ukládá více připojení na jednom místě
  4. K dispozici je vizuální schéma a nástroj pro tvorbu dotazů

Nevýhody

  1. Je to složitější ve srovnání s PHPMyAdmin.
  2. Uživatelé často hlásí selhání softwaru.

Navicat je řada pro správu grafických databází a vývoj softwaru. Mohla by to být jediná aplikace, která vám umožní přidružit se k připojení PHP MySQL a databázím MariaDB současně. Konzistentní s cloudovými databázemi jako Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud a Microsoft Azure.

Navicat pro MySQL poskytuje všechny pokročilé nástroje, které vývojář potřebuje k plné správě svých databázových operací. Díky kompatibilitě s cloudovými databázemi se hodí při správě cloudových aplikací. Některé z jeho hlavních funkcí jsou:

Výhody:

  1. Intuitivní a snadno použitelné uživatelské rozhraní.
  2. Poskytuje snadné připojení k databázi MySQL přes SSH terminál.
  3. Plánování databázových úloh – zálohování, obnova, spouštění sestav a další.
  4. Importujte a exportujte data z ODBC, Excel, Access, DBF, TXT, CSV, XML, JSON.
  5. K dispozici jsou nástroje pro tvorbu vizuálních schémat a dotazů.
  6. Kompatibilní s operačními systémy Windows, Linux a MAC.
  7. K dispozici funkce týmové spolupráce

Nevýhody:

  1. Profesionální verze je drahá
  2. Spuštění v systému Linux vyžaduje Wine, což zpomaluje IDE.
  3. Časově náročné řízení procesů

MySQL Yog

Tento nástroj pro správu MySQL má k dispozici tři balíčky, tj. Professional, Enterprise a Pro. Po otestování si můžete vybrat kteroukoli z nich.

Správci MySQL mohou s touto platformou snadno pracovat a efektivně zvládat své databázové úlohy. Je k dispozici pouze pro operační systémy Windows.

PROS

  1. K dispozici je nástroj pro návrh plynulých dotazů
  2. Nabízí pokročilé funkce, které pomáhají při výuce správy databáze.

CONS

  1. Verze Pro je těžká do kapsy
  2. Uživatelé často hlásí občasné selhání softwaru
  3. Nepodporuje žádné databáze kromě MySQL
  4. Žádná nativní podpora pro operační systémy Linux a MAC.
  5. Žádná podpora přetahování mezi více kartami.

Cloudways MySQL Database Manager

Správce databáze Cloudways MySQL je zdaleka jedním z nejšikovnějších a nejužitečnějších nástrojů pro správu MySQL pro vývojáře. Jeho použití je velmi snadné díky jeho uživatelsky přívětivému uživatelskému rozhraní a poskytuje všechny požadované nástroje pro správu MySQL, které by správce databáze měl mít:

Výhody:

  1. Nabízí uživatelsky přívětivé a přizpůsobitelné uživatelské rozhraní s pokročilými funkcemi.
  2. Vizuálně navrhuje tabulky schémat, omezení a dotazy.
  3. Snadné připojení k databázi MySQL pomocí terminálu SSH.

Nevýhody

  1. Pro více karet není k dispozici podpora přetažení.
  2. Nedostatečná podpora pro jiné databáze než MariaDB, MySQL.
Často kladené otázky

O:Jak zkontroluji, zda MySQL běží nebo ne?

Odpověď:Chcete-li zkontrolovat, zda běží MySQL, za předpokladu, že je nainstalována jako služba, můžete přejít na Start -> Ovládací panely -> Nástroje pro správu -> Služby a vyhledat MySQL v tomto seznamu. Zkontrolujte, zda běží nebo ne.

Otázka:Jak najdu svůj port localhost pro MySQL?

A:Pokud používáte MySQL Workbench, podívejte se na záložku Session v informačním panelu na bočním panelu. Pokud používáte phpMyAdmin, klikněte na Home a poté na Proměnné v horním menu. Hledejte nastavení portu na stránce. Nastavená hodnota je číslo vašeho portu MySQL.

O:Jaké je moje uživatelské jméno a heslo pro MySQL localhost?

Odpověď:Podívejte se na http://php.net/manual/en/function.mysql-connect.php. $servername =“localhost”; $username =“root”; $heslo =""; To by pravděpodobně fungovalo pro nové uživatele a nezapomeňte vytvořit databázi před připojením k ní.

O:Jaká je standardní funkce PHP pro připojení k databázi MySQL?

Odpověď:Jedním z důvodů, proč PHP tak dobře spolupracuje s MySQL, je funkce mysql_connect, která otevírá připojení k databázi. Tato funkce má pět argumentů.

Závěr

Dobrá struktura databáze je páteří každé aplikace. Ať už jde o CMS nebo online platformu pro sledování úloh, potřebujete databázi MySQL, abyste mohli sledovat informace o aplikacích a uživatelích a data serveru pro procesy aplikace.

V tomto tutoriálu jsme se naučili dvě věci:

  • Jak vytvořit novou databázi
  • Jak propojit databázi MySQL s PHP

MySQLi i PDO mají své preference. Než však začnete, měli byste mít na paměti, že MySQL se používá pouze k propojení MySQL s PHP, pokud potřebujete migrovat do jiné databáze, budete muset upravit celý kód. Na druhou stranu PDO pracuje s 12 různorodými databázemi, díky čemuž je migrace mnohem méně náročná.


  1. Oracle JDBC ojdbc6 Jar jako Maven Dependency

  2. Funkce TZ_OFFSET() v Oracle

  3. Upgrade MySQL na MariaDB 10 (část 2 – Upgrade MariaDB/MySQL 5.5 na verzi 10.0)

  4. Vývoj PostgreSQL pro Windows, část 2