założenia:
- masz serwer PHP
- baza już jest postawiona i ma jakąś tabelę z rekordami
- znasz podstawy tworzenia stron, programowania, PHP
- znasz podstawy zapytań SQL
1. Łącząc się i wybierając bazę danych wykorzystuję funkcję mysqli_connect (funkcje mające w nazie mysqli są nowsze, ulepszone, działają w nowszych wersjach PHP)
DEFINE('user','odpowiednik nicka');
DEFINE('baza','odpowiednik nazwy bazy');
DEFINE('host','odpowiednik hosta (zazwyczaj localhost)');
DEFINE('haslo','odpowiednik hasla');
$polaczenie = @mysqli_connect(host, user, haslo, baza) OR die('brak polaczenia z mysql:' .mysqli_connect_error() ); // ad1
ad1
jeśli mysqli_connect wykona się poprawnie wtedy zmienna $polaczenie otrzyma id zasobu otworzonego polaczenia... bedzie nam to potrzebne później....
2. Dla zachowania ładu trzymaj plik połączenia osobno, najlepiej poza katalogiem publicznym strony www (bezpieczeństwo)
3. Tworzę nowy plik do wykonania zapytania
include('ścieżka.php'); // includuj sobie plik połączenia podajac odp ścieżke - masz tam zmienna $polaczenie ktora bedziesz dawał jako argument do funkcji....
$zapytanie = "SELECT nick FROM users WHERE userid='1'"; //przykładowe zapytanie o nick usera z tabeli users gdzie id jest 1
$wynik = @mysqli_query($polaczenie, $zapytanie);
if($wynik) //jeżeli zapytanie poprawne to pokazujemy rekordy
{
while($rekord = mysqli_fetch_array($wynik, MYSQLI_ASSOC)) //mysqli_fetch_array zwraca tablice rekordów
{
echo ' ' . $rekord['nick'] . '<br />'; // mamy stworzoną tablicę $rekord w nawiasach[] wpisujesz nazwy kolumn, pętla while sprawi że ci wypisze wszystko po kolei....
}
}
else //jak nie poprawne to komunikuj błąd
{
//todo
}
4. OPCJONALNIE
mysqli_free_result($wynik); // zwolni $wynik;
mysqli_close($polaczenie); // uśmierca połączenie
//można także puścić ifa który sprawdzi ilość zwróconych rekordów i jesli jest zero to dać komunikat (nie mylić z błędem zapytania)
$iloscRekordow = mysqli_num_rows($wynik);
if($iloscRekordow>0)
{
//todo
}//todo
@ - przed funkcjami jest opcjonalna, daję ją po to żeby nie pokazywały ewentualnych bledow w przegladarce, ktore i tak obsługuję samodzielnie...
//todo - takie komentarze oznaczają że należy to napisać a poprzedni programista tego nie zrobił bo mu sie nie chciało...
mam nadzieje że zrozumiałe, jeśli nie to pytać, nie komentować "tutorial super ale jakbym nie znał PHP to bym nie zrozumiał" - bo ogarnie mnie ogromny ŻAL
Użytkownik -PainKiller- edytował ten post 17.11.2010 23:20