比较HTML / PHP字符串中带空格的值


Comparison if HTML / PHP string values with spaces

我在比较这两个字符串时遇到了麻烦,我不确定发生了什么,但是当值包含空格时,相等应该为真,它返回false,尽管它对于没有空格的字符串完美地工作。

我有一种鬼鬼祟祟的感觉,需要一些NBSP之类的东西,但我完全不知道该做什么…我指的这行会有星星。

    function getRecords($column,$table){
        $options = "";
            if(isset($_POST['submit'])) {
                $selected = $_POST[$column];
            }       
        $query = "SELECT DISTINCT $column FROM $table ORDER BY $column ASC";
        $result = mysql_query($query);
        if(!$result) {
            $options = "<option>Error Retrieving Records</option>'n";;
        }
        else {
            while($row=mysql_fetch_assoc($result)) {
                $value = $row[$column];
                $options .= "<";
                    $options .= "option value=";
                        $options .= $value;

更正在这里,谢谢ridgerrunner !

                    $options .= "option value='""; 
                    $options .= $value."'"";

    //define selected value if it exists        
                    if(isset($selected)) {
***************         if($selected==$value) {
                            $options .= " selected";
                        }
                            $options .= "";
                    }
                $options .= ">";
                $options .= $value;
                $options .= "</option>'n";
            }
        }
        return $options;
    }

需要将OPTION属性值用引号括起来。而不是:

$options .= "option value=";

使用:

$options .= "option value='"";

对结束引号做同样的事情。为了安全起见,您可能还需要将$value中的任何双引号转换为&quot;