MySQL

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

System zarządzania relacyjnymi bazami danych (relational database management system - RDBMS). Szybki, solidny, wielodostępowy, wielowątkowy. Wykorzystuje SQL.

Można go pobrać ze strony producenta:
http://www.mysql.com/
http://www.mysql.com/products/mysql/

Jego popularność spowodowała, że PHP może łączyć się z bazami danych MySQL aż na trzy sposoby:

  • Poprzez rozszerzenie mysql - najpopularniejsza obecnie metoda, spotykana w wielu podręcznikach i samouczkach
  • Poprzez rozszerzenie mysqli - jest to "ulepszona" wersja rozszerzenia mysql obsługująca wiele nowych funkcji bazodanowych. Pozwala na tworzenie kodu zarówno obiektowego jak i proceduralnego (analogicznego do rozszerzenia mysql). Zalecany sposób łączenia się z serwerami MySQL od wersji 4.1.3 wzwyż
  • Poprzez rozszerzenie PHP Data Objects - rozszerzenie PHP Data Objects pozwala na tworzenie kodu niezależnego od użytego systemu zarządzania bazami danych. Lista obsługiwanych RDBMS znajduje się tutaj


Połączenie z bazą:

Przy pomocy rozszerzenia mysql

<?php
// Połączenie z bazą
mysql_connect('host','user','haslo') or die('nie moge sie polaczyc!');
// Wybranie bazy danych
mysql_select_db('moja_baza');
?>

Przy pomocy rozszerzenia mysqli

<?php
// Połączenie z bazą
$mysqli = new mysqli('host','user','haslo','moja_baza');
// Sprawdź, czy udało się pomyslnie połączyć i wyświetl ewentualny komunikat błędu
if (mysqli_connect_error()) die('nie moge sie polaczyc! '.mysqli_connect_error());
?>

Tworzenie bazy

Przy pomocy rozszerzenia mysql

<?php
mysql_create_db('nazwa_bazy');
?>

Przy pomocy rozszerzenia mysqli

<?php
$mysqli->query('CREATE DATABASE nazwa_bazy') or die($mysqli->error);
?>

Wybieranie bazy:

Przy pomocy rozszerzenia mysql

<?php
mysql_select_db('nazwa_bazy');
?>


Przy pomocy rozszerzenia mysqli

<?php
$nysqli->select_db('nazwa_bazy');
?>

Dodawanie rekordu:

Przy pomocy rozszerzenia mysql

<?php
$query ='INSERT INTO `nazwa_tabeli` (pole_1,pole_2,itd) VALUES  (`wartosc pola 1`,`wartosc pola 2`,`itd...`)';
mysql_query($query);
?>

Przy pomocy rozszerzenia mysqli

<?php
$query ='INSERT INTO `nazwa_tabeli` (pole_1,pole_2,itd) VALUES  (`wartosc pola 1`,`wartosc pola 2`,`itd...`)';
$mysqli->query($query) or die('Błąd zapytania MySQL: '.$mysqli->error);
?>

Wybieranie rekordu:

Przy pomocy rozszerzenia mysql

<?php
// Wybranie wszystkich rekordów
$query ='SELECT * FROM `nazwa_tabeli`';
mysql_query($query);
// Wybranie jednego lub paru pól
$query ='SELECT pole1, pole2 FROM `nazwa_tabeli`';
mysql_query($query);
// Wybranie wszystkich rekordów w których pole1 ma wartość większą od 1
$query ='SELECT * FROM `nazwa_tabeli` WHERE `pole1`>1';
mysql_query($query);
?>

Przy pomocy rozszerzenia mysqli

<?php
// Wybranie wszystkich rekordów
$query ='SELECT * FROM `nazwa_tabeli`';
$mysqli->query($query) or die('Błąd zapytania MySQL: '.$mysql->error);
// Wybranie jednego lub paru pól
$query ='SELECT pole1, pole2 FROM `nazwa_tabeli`';
$mysqli->query($query) or die('Błąd zapytania MySQL: '.$mysql->error);
// Wybranie wszystkich rekordów w których pole1 ma wartość większą od 1
$query ='SELECT * FROM `nazwa_tabeli` WHERE `pole1`>1';
$mysqli->query($query) or die('Błąd zapytania MySQL: '.$mysql->error);
?>