Lucrand cu PHP si MySQL, se intampla adeseori sa trebuiasca sa selectezi o singura valoare din baza de date.
Spre exemplu, daca este nevoie doar de adresa de email a unui user. Pentru asta ar trebui sa scriem urmatorul cod:
$query = "SELECT email FROM users WHERE userid = '$userid'";
$result = mysql_query ($query);
$row = mysql_fetch_array($result);
$email = $row[0];
4 linii de cod pentru fiecare valoare de care avem nevoie e cam mult nu-i asa ?
Avem 2 alternative :
Am putea sa selectam direct valoarea astfel:
$query = "SELECT email FROM users WHERE userid = '$userid'";
$email = mysql_result(mysql_query($query), 0, 0);
Dezavantajul acestei variante este ca, in cazul lucrului cu tabele mari, aceasta metoda este mult mai lenta decat daca am folost una din functiile mysql_fetch_*, care returneaza un rand (row) intreg din baza de date.
Ceea ce ne duce la metoda a 3-a :
Folosim functia mysql_one_value, de aici.
function mysql_one_value($query) {
$result = mysql_query($query);
$row = mysql_fetch_row($result);
return($row[0]);
}
pe care o apelam asa :
$query = "SELECT email FROM users WHERE userid = '$userid'";
$email = mysql_one_value($query);
Asta e tot. Happy coding !