Конкретно в этом примере можно было бы выполнять 0 или 1 запрос в зависимости от наличие данных.
И res.end(); у вас сейчас тоже, как мне кажется, не верно расположен. Если запрос будет выполняться дольше то он не успеет выполниться раньше чем выполниться res.end(); его по хорошему в этом случае надо вызывать из callbaсk функции.
Если я всё правильно понимаю в NodeJS
Как-то так:
if(price || type) {
//составляем sql запрос, с 1 или 2 полями
connection.query('UPDATE fotopovtory SET ....... WHERE foto_id = "' + itemId + '";', function(err, rows, fields) {
if(err){
res.writeHead(500);
res.end();
} else {
res.writeHead(200, {'Content-Type': 'application/json; charset=utf-8'});
res.end(results);
};
});
} else {
res.writeHead(404);
res.end();
}