After writing procedural style PHP for many years I've decided to give OOP & PDO a go (and I'm hating it already).
I have written a simple function which validate a flag value, and another function which is later used to get the description of that value.
Am I on the right lines here and can any improvements be made?
<?php
// Connect to MySQL
$dsn = 'mysql:dbname=dev_pof;host=127.0.0.1';
$username = 'dev';
$password = 'dev.dev';
$pdo = new PDO($dsn, $username, $password,[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
// Function to validate the flag value
function CheckFlagValue($pdo, $FlagName, $FlagValue)
{
$sql = "SELECT 1 FROM flags WHERE flagname = ? AND flagvalue = ? LIMIT 1";
$stmt = $pdo->prepare($sql);
$stmt->execute([$FlagName, $FlagValue]);
return $stmt->fetchColumn();
}
// Function to get the flag description
function GetFlagDescription($pdo, $FlagName, $FlagValue)
{
$sql = "SELECT flagdescription FROM flags WHERE flagname = ? AND flagvalue = ? LIMIT 1";
$stmt = $pdo->prepare($sql);
$stmt->execute([$FlagName, $FlagValue]);
return $stmt->fetchColumn();
}
// Example of using the CheckFlagValue function
if (CheckFlagValue($pdo, 'intent', 2)) {
echo "valid";
} else {
echo "invalid";
}
?>