PHP 9. - lomilowka.pl

Transkrypt

PHP 9. - lomilowka.pl
Używanie MySQL w PHP.
0. Musimy mieć sprawny serwer mysql i php oraz odpowiednie uprawnienia dostępu ;-)
(XAMPP)
1. Dodajemy testowe dane do bazy najprościej:
•
logujemy się na mysqla
•
przygotowujemy dane w pliku tekstowym zawierające polecania dla serwera mysql i
zapisujemy w pliku z rozszerzeniem .sql
•
ładujemy dane do serwera poleceniem source nazwa_pliku.sql
•
Jak się dane załadują możemy przejść do PHP
2. Aby połączyć się z bazą potrzebujemy 3 parametrów. Nazwy serwera, nazwę użytkownika i
hasło. Nasz serwer to localhost, ale nawet łącząc się na z serwerem w wykupionym hostingu
również jako serwer podaje się localhost. Warunkiem jest działanie bazy danych na tym
samym serwerze, na którym uruchamiamy skrypt łączenia z bazą. Ale w 99% przypadków
jeśli firma hostingowa udostępnia możliwość zakładania bazy danych to logując się do niej
podajemy serwer localhost. Wyjątkiem może być sytuacja, kiedy mamy wykupionych kilka
hostingów. W ten sposób możemy mieć bazę danych na innym serwerze niż działa nasza
strona. Wtedy zamiast localhost musimy podać adres serwera z innego hostingu. Tyle teorii.
Funkcja php odpowiadająca za połączenie z bazą danych MySQL to mysql_connect(); w
nawiasie wpisujemy parametry. Całość wygląda następująco:
<?php
$serwer = 'localhost';
$uzytkownik = 'root';
$haslo = 'hasloZphpmyadmina_ w XAMMP jest puste';
$polaczenie = mysql_connect($serwer, $uzytkownik, $haslo);
if(!$polaczenie) {
die('Błąd połączenia: ' . mysql_error());
}
// operacje wykonywane na bazie
mysql_close($polaczenie);
?>
3. Jeżeli plik prawidłowo się łączy z bazą można wypełnić treścią miejsce: // operacje
wykonywane na bazie np. dane z pliku przykładowego wyświetlimy w formie tabelki ilości
wierszy z tabeli będzie odpowiadała ilości danych w bazie danych a wygadało by to tak:
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" /> </head>
<body>
<?php
function polaczZBazaDanych($host, $user, $pass, $db) {
if(!($connn = @mysql_connect($host, $user, $pass))) {
echo 'ERROR MySQL: Connect to Server<br>';
exit;
}
if(!mysql_select_db($db, $connn)) {
echo 'ERROR MySQL: Connect to DataBase';
exit;
}
if(!mysql_query('SET NAMES "utf8";', $connn)) {
echo 'ERROR MySQL: SET NAMES "utf8"<br>';
exit;
}
if(!mysql_query('SET CHARACTER SET "utf8";', $connn)) {
echo 'ERROR MySQL: SET CHARACTER SET "utf8"<br>';
exit;
}
if(!mysql_query('SET character_set_client = "utf8";', $connn)) {
echo 'ERROR MySQL: SET character_set_client = "utf8"<br>';
exit;
}
if(!mysql_query('SET character_set_results = "utf8"', $connn)) {
echo 'ERROR MySQL: SET character_set_results = "utf8"<br>';
exit;
}
if(!mysql_query('SET character_set_connection = "utf8"', $connn)) {
echo 'ERROR MySQL: SET character_set_connection = "utf8"<br>';
exit;
}
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');
return $connn;
}
$serwer = 'localhost';
$uzytkownik = 'root';
$haslo = '';
$baza='mojaBaza';
$con = polaczZBazaDanych($serwer, $uzytkownik, $haslo, $baza);
$query = 'SELECT * FROM pracownicy; ';
$result = mysql_query($query,$con);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
echo '<table border=1><tr><td>ID:</td><td>Imię:</td><td>Nazwisko:</td></tr>';
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><td>" . $row["ID"]. "</td><td>" . $row["imie"]. "</td><td>" . $row["nazwisko"].
"</td></tr>";
} echo '</table>';
mysql_close($con);
?>
</body> </html>
Ćwiczenia:
1. Zmień nazwy kolumn w bazie danych z ID, imię, nazwisko na kol1, kol2, kol3.
2. Dodaj kolejnych 10 rekordów z losowymi znakami.
3. Dodaj do tabeli kolumny wiek, klasa, plec, adres (właściwych typów) wypełnij losowymi
danymi i wyświetl na ekranie (w php of corz).
4. Dodaj druga tabelę samochody z kolumnami: ID marka, kolor, nr rejestracyjny, rocznik
przebieg (właściwych typów) wypełnij 20 rekordami losowych danumi.
5. Wyświetl pod tabelą pracownicy zawartość tabeli (w php of corz).
6. Dodaj 3 tabele użytkownicy zamierającą ID login hasło (właściwych typów) wypełniamy
10- losowymi rekordami.
7. Na stronie wyświetl mężczyzn na niebiesko a kobiety na różowo.

Podobne dokumenty