У меня есть пользовательский класс php для добавления, удаления, обновления пользователей. В функции обновления он не возвращает никаких ошибок, он возвращает успех, но фактические значения базы данных не меняются.
Есть идеи?
Это мой файл user.class.php.
public function userUpdate($id, $fname, $lname) {
$pdo = $this->pdo;
if (isset($id) && !empty($id) && isset($fname) && !empty($fname) && isset($lname) && !empty($lname)) {
$stmt = $pdo->prepare('UPDATE users SET fname = ?, lname = ? WHERE id = ?');
if ($stmt->execute([$id, $fname, $lname])) {
$this->msg = 'User name was successfully updated!';
return true;
}
else
{
$this->msg = 'User name failed to update!';
return false;
}
}
else
{
$this->msg = 'Data lost or not set!';
return false;
}
}
Это мой файл update.func.php.
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['uid']) && !empty($_POST['uid']) &&
isset($_POST['fname']) && !empty($_POST['fname']) && isset($_POST['lname']) && !empty($_POST['lname'])) {
$id = filter_input(INPUT_POST, 'uid', FILTER_DEFAULT);
$fname = filter_input(INPUT_POST, 'fname', FILTER_SANITIZE_STRING);
$lname = filter_input(INPUT_POST, 'lname', FILTER_SANITIZE_STRING);
if ($user->userUpdate($id, $fname, $lname)) {
header('Location: https://domain/update.php?result=pass&message=' . $user->getMsg());
exit;
}
else
{
header('Location: https://domain/update.php?result=fail&message=' . $user->getMsg());
exit;
}
}
else
{
header('Location: https://domain/update.php?result=fail&message=' . $user->getMsg());
}
}
else
{
header('Location: https://domain/update.php?result=fail&message=' . $user->getMsg());
}