Förutsatt att du inte vill ha alla kolumner som skulle returneras med select * from ...
, kan du helt enkelt lista de önskade kolumnerna uttryckligen:
select fname, lname from ...
Anta till exempel att du vet att ditt användar-ID är jbug01 och att du bara vill ha motsvarande e-postadress:
select email
from users
where userid = 'jbug01'
När det gäller att göra detta inom PHP kan följande kodsnutt hjälpa till:
<?php
$conn = mysql_connect ("localhost", "paxdiablo", "supersekritsauce");
if (!$conn) {
die ('Could not connect: ' . mysql_error());
}
mysql_select_db ("my_database", $conn);
$result = mysql_query ("select email from users where userid = 'jbug01'");
while ($row = mysql_fetch_array ($result)) {
echo $row['email'] . "<br />";
}
mysql_close ($conn);
?>
Det finns värdefulla få fall där *
väljs vettigt (annat än verktyg som behöver för att få alla kolumner såsom DB-visare).
Du bör vanligtvis föredra att vara tydlig med dina kolumnval. Detta kan göra att du kan upptäcka problem med schemaändringar mycket tidigare i processen än vad som är fallet om du bara blint väljer allt.
Det kommer också att resultera i att mindre information överförs vilket kanske inte är viktigt för små databaser eller system där allt körs på samma box men det kommer påverka skalbarheten av ditt system, både vad gäller datastorlek och distribution över ett nätverk.