Поле PHP / MySQL varchar введено как число - PullRequest
0 голосов
/ 03 февраля 2012

У меня в форме есть текстовое поле с именем PO_Number.Форма отправляет по почте на другую страницу значение текстового поля.

На второй странице я получаю $ _POST ['PO_Number'] и вхожу в MySQL.

Поле MySQL - varchar (15).Как только строка PO_Number начинается с буквы или цифры, все в порядке.

Проблема: иногда номер заказа на поставку начинается с 00 или 000 и хранится с запятой до 00
Например:
GH93737 - работает
9087893 - работает
0011132 - введено в базу данных как 0011132 (см. Запятую?)

Вставка выглядит нормально:

mysql_query("INSERT INTO table_name (PO_Number, ....) VALUES ('".$_POST['PO_Number']."',......)");

Большое спасибо за ваши предложения и вашу помощь.

1 Ответ

1 голос
/ 04 февраля 2012

Мне интересно, имеет ли это какое-то отношение к кодировке вашего браузера / сервера и как оно интерпретирует эти конкретные числа, потому что все эти первые и нулевые символы могут интерпретироваться как двоичное число?

Вот краткая информация по этому вопросу:

Кодировка символов сообщает компьютеру, как интерпретировать необработанные нули и единицы в реальные символы.Обычно это делается путем объединения чисел с символами.

http://htmlpurifier.org/docs/enduser-utf8.html

...