if ($db->connect_errno) { printf("Connect failed: %s\n", $db->connect_error); http_response_code(500); //500: internal server error exit; } else { try { $db->begin_transaction(); $query = "INSERT INTO votos (id, idName, user, score, count) VALUES (?, ?, '{$userName}', 1, 1) ON DUPLICATE KEY UPDATE score=score+1, count=count+1"; if (!($stmt = $db->prepare($query))) { echo "Prepare failed: (" . $db->errno . ") " . $db->error; } $stmt->bind_param('si', $i, $in); //clicked $i = "'{$userName}{$clicked}'"; $in = $clicked; $stmt->execute(); $stmt->close(); $db->commit(); echo "ok"; } catch (Exception $e) { $db->rollBack(); echo "<br>"; echo $db->error; } $db->close(); } } else { echo "bad request"; http_response_code(400); }