Do nawiązania połączenia z serwerem MYSQL używamy metod:
mysqli_connect() - rozpoczęcie połączenia,
mysqli_set_charset() - ustawiamy wersję kodowania znaków,
die() - w przypadku braku połączenia przerywa dalsze działanie skryptu,
mysqli_close() - zakończenie połączenia
Przykładowy kod połączenia - sposób 1:
//mysqli_connect('nazwa hosta', 'nazwa uzytkownika', 'hasło', 'nazwa bazy danych');
$con=mysqli_connect("localhost","root","","komis") or die("Błąd połączenia");
//ustawienie kodowania znaków
mysqli_set_charset($con,'utf8');
echo "Jest połączenie z serwerem";
//zakończenie połączenia
mysqli_close($con);
Możemy trochę inaczej rozbudować nasz kod używając metod:
mysqli_connect_error() - W przypadku braku połączenia zwraca nam opis błędu
mysqli_connect_errno() - W przypadku braku połączenia zwraca nam opis błędu
mysqli_select_db() - osobna metoda wyboru bazy
Przykładowy kod połączenia - sposób 2:
//połączenie z serwerem MSQL
//@ - wyłączenie informacji o błędzie w przypadku nienawiązania połączenia
$con = @mysqli_connect("localhost", "root", "");
//ustawienie kodowania znaków
mysqli_set_charset($conn,'utf8');
//wybór ba
mysqli_select_db($con, "komis");
//sprawdzenie połączenia
if(!$con){
//die("Brak połączenia z serwerem, opis błędu".mysqli_connect_error());
die("Brak połączenia z serwerem, numer błędu: ".mysqli_connect_errno());
}else{
echo "Jest połączenie z serwerem";
//zamknięcie połączenia
mysqli_close($con);
}
Możemy również rozbudować kod definiując w zmiennych tzw. "login credentials", czyli dane dostępu do serwera mysql.
Przykładowy kod połączenia - sposób 3:
//Ustawienia serwera mysql - login credentials:
$host = "localhost";
$db_user ="root";
$db_pass ="";
$db_name ="komis";
//Dane dostępu możemy dodatkowo umieścić sobie w zewnętrznym pliku connect.php,
//następnie podłączyć go do naszego pliku za pomocą metody require_once("connect.php");
//Połączenie z serwerem
$con = @new mysqli($host, $db_user, $db_pass, $db_name);
//ustawienie kodowania znaków
mysqli_set_charset($conn,'utf8');
//sprawdzenie połączenia
if(!$con){
//die("Brak połączenia z serwerem, opis błędu".mysqli_connect_error());
die("Brak połączenia z serwerem, numer błędu: ".mysqli_connect_errno());
}else{
echo "Jest połączenie z serwerem";
//zamknięcie połączenia
mysqli_close($con);
}
Ponadto możemy użyć również składni w zapisie obiektowym.
Przykładowy kod połączenia - sposób 4:
//Ustawienia serwera mysql
$host = "localhost";
$db_user ="root";
$db_pass ="";
$db_name ="komis";
//Połączenie z serwerem
$con = @new mysqli($host, $db_user, $db_pass, $db_name);
if($con -> connect_errno!=0){
echo "Error".$con->connect_errno;
}else{
echo "Jest połączenie z serwerem";
$con-> close();
}
Używając pierwszego sposobu połączenia z serwerem mysql, wypiszemy informacje zawarte w wybranej tabeli.
Użyte metody:
mysqli_query() - metoda wysyłająca zapytania w języku sql, przyjmuje dwa atrybuty: informację o połączeniu i zapytanie sql do bazy,
mysqli_fetch_array() - metoda, która grupuje odpowiedź z serwera w specjalnej tablicy,
$con=mysqli_connect("localhost","root","","komis") or die("Błąd połączenia");
//ustawienie kodowania znaków
mysqli_set_charset($con,'utf8');
//zapytanie do bazy msql
$sql = "select * from samochody where kolor='czerwony' and rocznik='2016'";
//wysłanie zapytania
$pyt = mysqli_query($con,$sql);
//wypisanie odpowiedzi
echo " <table border=1>";
//za pomocą pętli wypisujemy wszystkie wiersze spełniające nasze zapytanie
while($wiersz = mysqli_fetch_array($pyt)){
echo "<tr><td>".$wiersz['id']."</td>
<td>".$wiersz['marka']."</td><td>".$wiersz['model']."</td></tr>";
}
echo " </table>";
//zakończenie połączenia
mysqli_close($con);
W pliku formularz.php został przygotowany formularz z którego wyślemy nasze dane do bazy danych
Plik formularz.php:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="wpiszDB.php" method="POST">
<div>Marka</div>
<div><input type="text" name="marka"></div>
<div>Model</div>
<div><input type="text" name="model"></div>
<div>Rocznik</div>
<div><input type="number" name="rocznik"></div>
<div>Kolor</div>
<div><input type="text" name="kolor"></div>
<div>Stan</div>
<div><input type="text" name="stan"></div>
<br>
<div><input type="reset" value="Wyczyść"></div>
<br>
<div><input type="submit" value="Dodaj"></div>
</form>
</body>
</html>
Z pliku formularz.php przekazujemy dane z formularza do skryptu w pliku wpiszDB.php
$con=mysqli_connect("localhost","root","","komis") or die("Błąd połączenia");
//ustawienie kodowania znaków
mysqli_set_charset($con,'utf8');
//odczytanie danych z tablicy $_POST wysłanych z formularza w pliku formularz.php
$marka =$_POST['marka'];
$model =$_POST['model'];
$rocznik =$_POST['rocznik'];
$kolor =$_POST['kolor'];
$stan =$_POST['stan'];
//zapytanie sql
$sql = "insert into samochody values(null, '$marka', '$model' , '$rocznik' , '$kolor' , '$stan')";
//wysłanie zapytania
$dodaj = mysqli_query($con, $sql);
//sprawdzenie wyniku
if($dodaj === true){
echo "OK! Dodano wpis do bazy";
}else{
echo "Nie dodano wpisu";
}
mysqli_close($con);