2

编辑 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 被识别为整数。

如何告诉表单强制将 $_POST 中的 Zip 值作为字符串?

编辑: 我什至没有想过这个,但也许它是相关的。该表单也设置为允许上传图片,因此该表单设置了 enctype="multipart/form-data"。这会导致这个问题吗?

除此之外,我不知道该怎么想,因为我正在使用 FirePHP 来记录 $_POST 信息,只要表单加载到提交上就可以了。我想不出任何会导致这个问题的东西。

4

3 回答 3

4

你可以把它转换成这样的字符串

$zip = (string) $_POST['zip'];
于 2009-11-16T01:59:09.037 回答
1

你可以做strval($var);
$val."";:)

于 2009-11-16T01:59:31.283 回答
1

我试过你的例子,但得到

    [邮编] => 12345
    [城市] => Anywheresville

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

于 2009-11-16T02:04:48.463 回答