Я не могу понять это.Это мои переменные:
$id = 1;
$exp = 1;
$energy = 1;
$payout = rand ( 100 , 300 );
вот запрос
$sql = 'update players set ' .
'exp = exp + :exp, ' .
'energy = energy - :energy, ' .
'cash = cash + :cash ' .
'where id = :id';
Примером этой строки может быть:в phpmyadmin
это работает.Поэтому я не понимаю, почему это не работает:
try
{
$stmt = $this->db->prepare($sql);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->bindParam(':exp', $exp, PDO::PARAM_INT);
$stmt->bindParam(':energy', $energy, PDO::PARAM_INT);
$stmt->bindParam(':cash', $payout, PDO::PARAM_INT);
$result = $stmt->execute();
$stmt->closeCursor();
}
catch (Exception $e)
{
die ($e->getMessage() );
}
if ( !$result )
{
trigger_error("mysql: " . $sql, E_USER_ERROR);
$data = array( "message" => T_gettext("Something went wrong."));
return json_encode( $data );
}
Это приводит к ложному $result
= что-то не так с запросом
Что я сделал не так?+ как получить более подробное сообщение об ошибке mysql из PDO?