Bonjour, j'aimerais exécuter une requête sur une table dont je ne connais pas le nom. J'ai deux tables admins et users qui possèdent tous deux les colonnes email et attempted. J'aimerais changer la valeur de attempted à CURRENT_TIMESTAMP là où l'email existe. Pour l'instant j'ai ceci :
Je suppose qu'il y a moyen de faire ça plus facilement mais je n'y parvient pas.
Merci beaucoup de votre temps, passez une agréable soirée! (:
static private function getTable(string $email): string
{
return $GLOBALS['db']->query(sprintf(
"SELECT
'users'
FROM
users
WHERE
email = '%1\$s'
UNION
SELECT
'admins'
FROM
admins
WHERE
email = '%1\$s'",
$email
))->fetch_array(MYSQLI_NUM)[0];
}
static public function update(string $email): void
{
$GLOBALS['db']->query(sprintf(
"UPDATE
`%s`
SET
attempted = CURRENT_TIMESTAMP
WHERE email = '%s'
",
self::getTable($email),
$email
));
}
Je suppose qu'il y a moyen de faire ça plus facilement mais je n'y parvient pas.
Merci beaucoup de votre temps, passez une agréable soirée! (: