В этом случае наполовину это уже было сделано: в базу всегда пишутся обе половинки. Пишутся без ошибок, что говорит о том, что с ними всё норм.
Следуя вашему совету, я дописал такую вещь:
mysqli_query($link,"INSERT INTO `errors`.... итд")
Сегодня утром обнаружил кучу записей с той же ошибкой, и при этом абсолютно пустой лог.
Я так понимаю, что какие-то "чудеса" происходят на этапе записи в БД, поскольку php не показывает никаких симптомов...
Почему нельзя вывести эту переменную перед записью в БД?
Её можно вывести. Просто у меня ошибка не воспроизводится. Выводится нормальная переменная, но и в базу нормальная попадает.
Я уже и логинился под этими проблемными id. Вбестолку. У них проблема появляется, у меня нет.
то есть вы уверены что во время записи в переменой было значение 9223372036854775807_10021, а не 11282821117685064658_10021 ?
По крайней мере, судя по тем же записям в бд, я уверен, что $userid = '9223372036854775807' и $craft = '10021';
К сожалению, проблема не воспроизводится, я не могу вывести и посмотреть переменную $user_craft. (точнее могу, но она всегда в порядке). Проблему я наблюдаю уже записанной в БД. Не всегда, периодически.
Все 3 переменные записываются в БД.
В итоге в колонке `user_craft`(тип - varchar) вижу '11282821117685064658_10021'.
Две другие переменные проблем не имеют.
Проблема не постоянна, возникает периодически.
Почему это может происходить?