<?php
$sql = "SELECT id FROM $tbl_name WHERE username='$loc_username' and password='$loc_password'";
$result = mysql_query($sql);
?>
Wordt in $result de query uitgevoerd.
$result moet je vervolgens door mysql_fetch_assoc halen om de opgehaalde gegevens weer in een variabele te zetten. Dat kan met een while (loop), maar zoals je zelf stelt is dat niet nodig bij slechts één record. Je moet dan uiteraard er wel 100% zeker van zijn dat er ook maar één record is.
Bijvoorbeeld met mysql_num_rows($result) == 1
Probeer bijvoorbeeld eens:
<?php
$sql = "SELECT id FROM $tbl_name WHERE username='$loc_username' and password='$loc_password'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['id'];
?>
Je moet dan uiteraard er wel 100% zeker van zijn dat er ook maar één record is.
Bijvoorbeeld met mysql_num_rows($result) == 1
Eigenlijk vind ik dat nog niet eens het belangrijkste. Als er meer resultaten zouden zijn dan wordt gewoon de eerste gepakt en de rest 'vergeten'. In dit geval lijkt de kans me echter klein dat er meer dan 1 resultaat terugkomt (zeker als er een unique index op het veld username zit).
Wat echter veel belangrijker is, is wat er moet gebeuren als er géén records in de resultset zitten. De code kan dus beter iets zijn als: