Selectarea înregistrărilor prin interogare SQL către baza de date în PHP
În codul de test ați văzut deja comanda SELECT,
care selectează date din baza de date. Să
analizăm acum mai în detaliu sintaxa sa.
Iată-o:
<?php
$query = "SELECT * FROM table WHERE condition";
?>
După cum vedeți, după numele tabelei se poate
adăuga comanda WHERE, în care se pot
scrie condiții pentru restricționarea înregistrărilor selectate.
În condiție sunt permise următoarele operații de comparație:
=, !=, <>, <,
>, <=, >=.
Să vedem aplicarea lor cu exemple.
Exemplu
Să selectăm utilizatorul cu id egal cu 2:
<?php
$query = "SELECT * FROM users WHERE id=2";
?>
Exemplu
Să selectăm utilizatorii cu id mai mare decât 2:
<?php
$query = "SELECT * FROM users WHERE id>2";
?>
Exemplu
Să selectăm utilizatorii cu id mai mare sau egal cu
2:
<?php
$query = "SELECT * FROM users WHERE id>=2";
?>
Exemplu
Să selectăm utilizatorii cu id diferit de 2:
<?php
$query = "SELECT * FROM users WHERE id!=2";
?>
Exemplu
În loc de comanda != se poate scrie comanda
<>:
<?php
$query = "SELECT * FROM users WHERE id<>2";
?>
Exemplu
Să selectăm utilizatorii cu vârsta de 23 de ani:
<?php
$query = "SELECT * FROM users WHERE age=23";
?>
Exemplu
Să selectăm utilizatorii cu salariul 500:
<?php
$query = "SELECT * FROM users WHERE salary=500";
?>
Exemplu
Să selectăm utilizatorul cu numele 'user1'. Aici
ne așteaptă o nuanță importantă: deoarece numele este un
șir de caractere, acesta trebuie să fie pus între ghilimele:
<?php
$query = "SELECT * FROM users WHERE name='user1'";
?>
Exemplu
Dacă comanda WHERE lipsește, atunci
vor fi selectate toate înregistrările din tabel. Să
selectăm toți angajații:
<?php
$query = "SELECT * FROM users";
?>
Exerciții practice
Selectați utilizatorul cu id egal cu 3.
Selectați utilizatorii cu salariul 900.
Selectați utilizatorii cu vârsta de 23 de ani.
Selectați utilizatorii cu salariul mai mare de 400.
Selectați utilizatorii cu salariul egal sau mai mare
de 500.
Selectați utilizatorii cu salariul NU egal cu 500.
Selectați utilizatorii cu salariul egal sau mai mic
de 500.