Since it appears you are expecting more than one row to be returned, you might look into using a loop. Perhaps something along the lines of: while ($arr=mssql_fetch_array($result,MSSQL_ASSOC)) { echo $arr['RateSheetId']."<br>"; echo $arr['RateSheetName']."<br>"; } I agree that you do need to make sure your naming is consistent between the array elements and the field names. $arr['RateSheetId'] is not always the same as $arr['ratesheetid'] I have to disagree in that I find nothing wrong with the naming of variables the same as a field name and that "ratesheetID" will prove much less confusing in the long run than simply "usrID". What happens should there ever be a "usr_foo" table? You then potentially have 2 "usrID" floating around instead of "ratesheetID" and "fooID". Conversely, putting a bit of forethought in the basic database design will go a long way towards avoiding the potential for confusion also.