2

我正在使用 PHP 和 MySql 进行搜索结果页面。当您转到状态页面时,它应该调用 DISTINCTly 每个我有记录的城市。如果城市列有前导空格,它不会列出任何城市。

我在插入数据库之前修剪变量。

$prcity = trim($_SESSION['prcity']);

然而,我在列中仍然有一个前导空格。一个城市在特定状态结果页面上显示的唯一方法是,如果我进入每条记录并删除前导空格。

另外,我有一个数组,我正在崩溃,它会抛出这个警告消息

Warning: implode() [function.implode]: Invalid arguments passed in C:\wamp\www\mydomain.com\register\checkform.php on line 48 

如果我使用这段代码。

if (!$errorstring) {foreach( $_POST as $key=>$value ) {$value =ltrim($value);
    $_SESSION[$key] = $value;}

关于为 INSERT 修剪空白或在搜索结果中修剪空白而不抛出警告的任何线索?

echo ("<a class = \"city_search\" href =\"../search_results.php?search=".$row['prcity']."&prstate=".$search."\">".$row['prcity']."</a>");}
4

2 回答 2

4

克里斯,

Mysql 有一个TRIM功能,因此您可以使用它来确保数据正常。您也可以通过以下方式更新您的所有城市

UPDATE city SET city = TRIM(city)

所以你的数据库会被修复

于 2009-12-08T05:09:22.317 回答
1

好吧,如果您在将前导/尾随空格放入您的列时遇到问题,您可以使用如下查询将它们清除:

UPDATE cities SET city_name = TRIM(city_name);

现在..至于为什么首先要插入空格..我必须查看正在执行此操作的实际代码。

于 2009-12-08T05:08:39.267 回答