Прежде всего, позвольте мне извиниться за заголовок, поскольку это не так объяснимо, но я не мог сказать этого по-другому.Переменная Javascript, разные значения, та же строка
Сделка: Я делаю яваскрипта приложение, в котором я объект под названием «ocorrencia», которое было определено, как это:
var ocorrencia = new Object();
, что объект имеет несколько детей, которые заполняются методом :
ocorrencia.idOcorrencia = ""+ year + month + day + hour + minute + second + milisec;
idOcorrencia это один я имею проблемы с, потому что я бегу DataBase вставки с этим значением, и я использую его 2 раза в одной и той же вставки, как:
var sql = 'INSERT INTO OCORRENCIAS (id, ocorrencia, data, resolucao, urgencia, foto) VALUES (' + ocorrencia.idOcorrencia + ', "' + ocorrencia.descricao + '", "' + ocorrencia.data + '", "' + ocorrencia.resolucao + '", "' + ocorrencia.grauUrg + '", "' + ocorrencia.idOcorrencia + '.jpg"' +')';
Вставка отлично работает, у меня есть все данные, вставленные в БД, НО «id» и «foto» (которые должны были получать равные значения) дают мне разные значения на 2 или 3 милисекунды.
Как это может случиться, поскольку я не меняю «ocorrencia.idOcorrencia»?
Это протестировано на устройстве Android.
EDIT: Протестировано в браузере Windows, и проблема не возникает.
Спасибо
Итак, после часов наблюдения на головке монитора мы пришли к выводу. Мне удалось посмотреть на мою БД, и значения были неправильными, поэтому ошибка должна быть при вставке. Я писал один раз как число (для использования в качестве идентификатора), а другое как строку. После попытки записи в виде строки 2 раза значения всегда были правильными, поэтому я буду использовать строку в качестве моего идентификатора. Мы не могли действительно получить объяснение для этого, только если в MySQL есть ошибка в прямом преобразовании большой строки в число. Если кто-то может сказать, если это известная проблема, это было бы здорово! – seugnimod