try{
$stmt = $pdo -> prepare("UPDATE users SET");
if($newPassword){
$stmt .= "`password` = :newPassword, ";
}
$stmt .= "`name` = :name,
`sec_name` = :sec_name,
`surname` = :surname,
`adress` = :adress,
`tel` = :tel
WHERE `email` = :email AND `password` = :password limit 1";
$salt = getSalt($email);
if (!$salt) {
return false;
}
$curPasswordMD5 = passwordHash($curPassword, $salt);
$stmt->execute(
array( ":name" => $name,
":sec_name" => $sec_name,
":surname" => $surname,
":adress" => $adress,
":tel" => $tel,
":newPassword" => $newPassword['hash'],
":email" => $email,
":password" => $curPasswordMD5['hash'],
)
);
return $stmt;
} catch (Exception $e) {
exit($e->getMessage());
}
Catchable fatal error: Object of class PDOStatement could not be converted to string in Cв данном случае это строка где заканчивается сам запрос т.е. строка с WHERE... Что тут не правильно понять не могу.
:\xampp\htdocs\myshop.local\models\UsersModel.php on line 236
$sql = "UPDATE users SET ":
if($newPassword){
$sql .= "`password` = :newPassword, ";
}
$sql .= "`name` = :name,
`sec_name` = :sec_name,
`surname` = :surname,
`adress` = :adress,
`tel` = :tel
WHERE `email` = :email AND `password` = :password limit 1";
$salt = getSalt($email);
if (!$salt) {
return false;
}
$curPasswordMD5 = passwordHash($curPassword, $salt);
$stmt = $pdo -> prepare($sql);
$stmt->execute(
array( ":name" => $name,
":sec_name" => $sec_name,
":surname" => $surname,
":adress" => $adress,
":tel" => $tel,
":newPassword" => $newPassword['hash'],
":email" => $email,
":password" => $curPasswordMD5['hash'],
)
);
return $stmt;
} catch (Exception $e) {
exit($e->getMessage());
}