Поле ввода php выглядит как целое число
Вопрос
РЕДАКТИРОВАТЬ 2:Написав невероятно длинное объяснение более подробно, я, конечно, обнаружил свою проблему и она не имела никакого отношения к заданному мною вопросу.Это произошло из-за того, что я создавал свой собственный объект, присваивал имя загруженного изображения его свойству «LogoName»... затем создавал новую версию позже в коде, не назначая это свойство новому объекту, а затем пытался сохранить новый объект (без заданного LogoName) в базу данных.
Извините, что потратил ваше время.Спасибо за ваши ответы.Все они были проголосованы.КОНЕЦ РЕДАКТИРОВАНИЯ 2
У меня есть форма на php-сайте.Форма имеет обычные параметры ввода «Город», «Штат», «Почтовый индекс».Город выглядит так:
<label for="city">City</label><input type="text" name="city" value="<?php echo $business->city; ?>" id="city">
Зип выглядит так:
<label for="zip">Zip</label><input type="text" name="zip" value="<?php echo $business->zip; ?>" id="zip">
Когда я проверяю свой $_POST, значения выглядят так:(с использованием FirePHP)
['city'] => 'St. Louis'
['zip'] => 12345
Поэтому, естественно, когда я помещаю эти значения в свой объект и пытаюсь сохранить этот объект в базе данных (которая имеет Zip в виде varchar), я получаю ошибки, поскольку Zip распознается как целое число.
Как мне указать форме, чтобы значение Zip в $_POST было строкой?
РЕДАКТИРОВАТЬ:Я даже не думал об этом, но, возможно, это актуально.Форма настроена так, чтобы разрешить загрузку изображений, поэтому в форме установлено значение enctype="multipart/form-data".Может ли это быть причиной этой проблемы?
Кроме этого, я не знаю, что и думать, поскольку использую FirePHP для регистрации информации $_POST практически сразу после загрузки формы при отправке.Я не могу придумать ничего, что могло бы вызвать эту проблему.
Решение
Я попробовал ваш пример, но получил
[zip] => 12345 [city] => Anywheresville
Обычно не нужно беспокоиться о том, что целые числа не похожи на строки.Мне трудно представить себе случай, когда разумное преобразование не произошло бы автоматически.Может быть, вы могли бы опубликовать код, который формирует структуру и генерирует запрос?
Другие советы
Вы можете привести его к такой строке
$zip = (string) $_POST['zip'];
Ты можешь сделать strval($var);
или $val."";
:)