I'm using a mySQL statement in a PHP script to return the email address for a given user. You'll see the function below:
public static function getEmailAddress($username) {
$conn = parent::connect();
$sql = "SELECT emailAddress FROM " . TBL_USERS . " WHERE username = '". $username ."';";
try {
$st = $conn->prepare($sql);
$st->bindValue("username", $username, PDO::PARAM_STR);
$st->execute();
$emailAddress = $st->fetch();
return $emailAddress;
parent::disconnect($conn);
} catch(PDOException $e) {
die("emailAddress lookup query failed: " . $e->getMessage());
}
}
This returned an array with two elements, both being the correct email address. I changed the return statement to
return implode(array_unique($emailAddress));
which solved the problem, but there has to be a better way to do this. This seems like pretty elementary stuff, and I'd like to do it right. What's wrong?