patternMinor
Creating efficient PDO functions
Viewed 0 times
creatingfunctionsefficientpdo
Problem
I have the following functions:
Is there a way to make this one function instead of two? I want it to be secure and done with the best practices.
function getExample($id, $otherid) {
global $db;
$query = 'SELECT * FROM examples WHERE id = :id AND otherid= :otherid';
try {
$statement = $db->prepare($query);
$statement->bindValue(':id', $id);
$statement->bindValue(':otherid', $otherid);
$statement->execute();
$result = $statement->fetchAll();
$statement->closeCursor();
return $result;
} catch (PDOException $e) {
$error_message = $e->getMessage();
display_db_error($error_message);
}
}
function getSecExample($id) {
global $db;
$query = 'SELECT * FROM examples WHERE id= :id';
try {
$statement = $db->prepare($query);
$statement->bindValue(':id', $id);
$statement->execute();
$result = $statement->fetchAll();
$statement->closeCursor();
return $result;
} catch (PDOException $e) {
$error_message = $e->getMessage();
display_db_error($error_message);
}
}Is there a way to make this one function instead of two? I want it to be secure and done with the best practices.
Solution
I'm not sure why you think that forcing this into one function will make it a "best practice," and that doesn't seem right anyways.
I suppose one way you could do it is:
If it were to be in the second function,
I suppose one way you could do it is:
WHERE id = :id AND otherid LIKE :otheridIf it were to be in the second function,
:otherid would be a wildcard (%). Otherwise just have your value. Check out this.Code Snippets
WHERE id = :id AND otherid LIKE :otheridContext
StackExchange Code Review Q#80472, answer score: 2
Revisions (0)
No revisions yet.