1. Самая удобная альтернатива -
safemysql, код сократится в два раза
$sql = "SELECT * FROM photos WHERE id = ?s AND authkey = ?s";
$row = $db->getRow($sql, $_COOKIE['photoid'], $_COOKIE['authkey']);
if ($row)
{
$this->userLogged = true;
$this->userData = $row;
return TRUE;
}
Но использование этой библиотеки требует некоторого опыта разработки и по этой причине она подходит не всем.
2. Менее удобная альтернатива - PDO. аргумент про "нет времени переписывать" - смехотворный.
Во-первых, надо было думать раньше, и не говнокодить функциями mysqli в коде приложения, вместо того чтобы обернуть их в класс-хелпер.
Во-вторых, не надо думать, что работа над сайтом закончена. Она только начинается. Учитывая, что в PDO одной строчкой делается то, на что в mysqli надо 10, то наоборот, при переходе выйдет огромная экономия.
3. Самый простой вариант решения проблемы - сменить хостера. Но в этом случае весь адов говнокод останется на месте.
4. Ну и самый кривой вариант - добавить больше ада и говнокода с bind_result()