Forudsat at du ikke vil have alle kolonner, der returneres med select * from ...
, kan du blot angive de ønskede kolonner eksplicit:
select fname, lname from ...
Antag for eksempel, at du ved, at dit bruger-id er jbug01, og du bare vil have den tilsvarende e-mailadresse:
select email
from users
where userid = 'jbug01'
Med hensyn til at gøre dette inden for PHP, kan følgende kodestykke hjælpe:
<?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);
?>
Der er dyrebare få tilfælde, hvor du vælger *
giver mening (bortset fra værktøjer, der bruger). for at få alle kolonner såsom DB-fremvisere).
Du bør normalt foretrække at være eksplicit med dine kolonnevalg. Dette kan give dig mulighed for at opdage problemer med skemaændringer meget tidligere i processen, end det vil være tilfældet, hvis du blot blindt vælger alt.
Det vil også resultere i, at der overføres mindre information, hvilket måske ikke er vigtigt for små databaser eller systemer, hvor alt kører på samme boks, men det vil påvirke skalerbarheden af dit system, både med hensyn til datastørrelse og distribution på tværs af et netværk.