Pavel Karinin, Так подготовленный запрос просто заменяет экранирование, позволяя не беспокоиться о контроле данных с технической стороны. Логический контроль всё равно необходим, но сам по себе он может что-то пропустить. Фрагмент SQL-запроса в комментарии на техническом форуме вполне приемлем.
Pavel Karinin, Скажем, надо передать в запрос (сохранить в базе) строку, переданную пользователем, например, комментарий. Пользователь вполне может написать там что угодно, в том числе и вполне корректное SQL-выражение. Ну или не совсем корректное, но ломающее ваш запрос при подстановке в строку.
Pavel Karinin, В случае числового значения - можно, но в случае строки уже надо эскейпить или пользоваться плейсхолдерами. Подготовленные выражения лучше, если нужно передать null или использовать выражение несколько раз с разными параметрами.
Settings.Secure.getString(...) не выдаёт число, она возвращает из базы данный системы строку по её идентификатору.
Лучше напишите, что именно вы хотите получить от функции, потому как вашему текущему вопросу вполне удовлетворяет
function returnSomething($something) {
return '001C4200000A0001';
}
Yasuro, Большинство дешёвых устройств имеют автономную функцию копирования, управлять ей нельзя в принципе.
Более дорогие устройства имеют обычно сетевое подключение и web-, telnet- и/или ssh-интерфейс, с помощью которого можно управлять устройством включая/выключая функции. Счётчик страниц у таких устройств доступен через такой интерфейс и/или через SNMP.
Евгений, Если сервер этот заголовок не отдаёт, то браузер при кросс-доменном запросе будет выдавать ошибку. В этом случае вам надо поднять свой сервер и делать запрос через него.
Иван Мельников, Транзакция тут бесполезна. Она нужна, в первую очередь, когда есть несколько команд, последовательно вставляющих/изменяющих данные, для сохранения связности данных в случае ошибки в одной из команд.