Cand baza de date are cateva inregistrari in ea, puteti prelua informatia stocata, folosind comanda SELECT.
O interogare SELECT returneaza randuri selectate de la unul sau mai multe tabele.
SELECT nume_coloana/e FROM nume_tabel- "nume_coloana/e" - este numele coloanei sau coloanelor care vor fi selectate.
<?php // conecteaza la baza de date "tests" $conn = new mysqli('localhost', 'root', 'pass', 'tests'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // interogare sql SELECT $sql = "SELECT `id`, `name`, `pass` FROM `users`"; // executa interogarea si retine datele returnate $result = $conn->query($sql); // daca $result contine cel putin un rand if ($result->num_rows > 0) { // afiseaza datele din fiecare rand din $result while($row = $result->fetch_assoc()) { echo '<br /> id: '. $row['id']. ' - name: '. $row['name']. ' - pass: '. $row['pass']; } } else { echo '0 rezultate'; } $conn->close(); ?>- Acest exemplu stocheaza datele (obiectul rezultat) returnate de metoda query() in variabila $result , foloseste proprietatea "num_rows" sa verifice daca $result contine cel putin un rand. Apoi, cu bucla while() trece prin toate inregistrarie din obiecul rezultat, folosind metoda "fetch_assoc()" pentru a retine datele din fiecare rand intr-un Array in variabila $row.
Asterisc (*) poate fi folosit pentru a selecta toate coloanele: "SELECT * FROM nume_tabel", dar este mai bine sa specificati doar coloanele care vreti sa fie selectate, deoarece procesul de selectare poate fi mai rapid.
SELECT nume_coloana/e FROM nume_tabel LIMIT skip_nr, ret_nr"skip_nr" este optional, ii spune bazei de date cate randuri sa sara din rezultate.
<?php // conecteaza la baza de date "tests" $conn = new mysqli('localhost', 'root', 'pass', 'tests'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // interogare sql SELECT $sql = "SELECT `id`, `name`, `pass` FROM `users` LIMIT 2"; // executa interogarea si retine datele returnate $result = $conn->query($sql); // daca $result contine cel putin un rand if ($result->num_rows > 0) { // afiseaza datele din fiecare rand din $result while($row = $result->fetch_assoc()) { echo '<br /> id: '. $row['id']. ' - name: '. $row['name']. ' - pass: '. $row['pass']; } } else { echo '0 rezultate'; } $conn->close(); ?>Optiunea "LIMIT 2" spune MySQL sa returneze primele 2 randuri din rezultat.
SELECT nume_coloana/e FROM nume_tabel ORDER BY nume_col ASC|DESC"nume_col" poate fi o singura coloana, o lista de coloane separate prin virgula, sau o expresie ca RAND(), pentru a obtine o ordine aleatorie.
<?php // conecteaza la baza de date "tests" $conn = new mysqli('localhost', 'root', 'pass', 'tests'); // verifica conexiunea if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // interogarea sql SELECT $sql = "SELECT `id`, `name`, `pass` FROM `users` ORDER BY `name`"; // executa interogarea si retine rezultatul $result = $conn->query($sql); // daca $result contine cel putin un rand if ($result->num_rows > 0) { // afiseaza datele din fiecare rand din $result while($row = $result->fetch_assoc()) { echo '<br /> id: '. $row['id']. ' - name: '. $row['name']. ' - pass: '. $row['pass']; } } else { echo '0 results'; } $conn->close(); ?>- Acest cod selecteaza toate datele stocate in tabelul "users" , si sorteaza rezultatul in ordine alfabetica dupa coloana "name".
SELECT DISTINCT nume_coloana/e FROM nume_tabel