php输入字段显示为整数

php输入字段显示为整数,php,webforms,input,zipcode,Php,Webforms,Input,Zipcode,编辑2: 当然,在写了一个非常详细的解释之后,我发现了我的问题,而这与我问的问题无关。 这是因为我正在创建一个自定义对象,将上传的图像名称分配给它的“LogoName”属性…然后在代码中创建一个新版本,而不是将该属性分配给新对象,然后尝试将新对象(没有LogoName集)保存到数据库 对不起,浪费了你的时间。谢谢你的回答。他们都被提高了投票率。 结束编辑2 我在php网站上有一个表单。该表单具有常见的城市、州和Zip输入选项。 城市看起来是这样的: <label for="city">

编辑2: 当然,在写了一个非常详细的解释之后,我发现了我的问题,而这与我问的问题无关。 这是因为我正在创建一个自定义对象,将上传的图像名称分配给它的“LogoName”属性…然后在代码中创建一个新版本,而不是将该属性分配给新对象,然后尝试将新对象(没有LogoName集)保存到数据库

对不起,浪费了你的时间。谢谢你的回答。他们都被提高了投票率。 结束编辑2

我在php网站上有一个表单。该表单具有常见的城市、州和Zip输入选项。 城市看起来是这样的:

<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">
因此,当我将这些值放入对象中,并尝试将该对象保存到数据库(该数据库将Zip作为varchar)时,自然会出现错误,因为Zip被识别为整数

我如何告诉表单将$\u POST中的Zip值强制为字符串

编辑: 我甚至没有想到这一点,但也许这是相关的。表单设置为允许图像上传,因此表单设置了enctype=“multipart/form data”。 这会导致这个问题吗


除此之外,我不知道该怎么想,因为我正在使用FireHP记录$\u POST信息,表单一加载就提交。我想不出任何可能导致此问题的原因。

您可以将其转换为这样的字符串

$zip = (string) $_POST['zip'];
您可以执行
strval($var)

$val.“”:)

我试过你的例子,但失败了 [zip] => 12345 [city] => Anywheresville [zip]=>12345 [城市]=>任何地方


通常,人们不必担心整数看起来不像字符串。我很难想象一个合理的转换不会自动发生的情况。可能您可以发布形成结构并生成查询的代码?

他正在尝试转换为字符串而不是int。SQL Server处理Php的方式很有趣。是SQL Server驱动程序导致了这种情况。无类型语言Php和SQL Server强制使用该类型。这可能很好,但是Php的美在哪里呢。MySQL不会发生这种情况。@未知PHP不是无类型的。 [zip] => 12345 [city] => Anywheresville