我正在使用PHP / MySQL连接向我的网站添加搜索建议功能。这一切都在工作,除了一件。我的数据都包含值中的括号,所以当我试图将返回的数据传递给输入字段时,我的onclick函数失败了!代码如下:
while ($result = $query->fetch_object()) {
echo '</li><li onclick="fill(\''.$result->name.'\');">'.$result->name.'</li>';
}
列表从返回的搜索结果中填充,但返回的查询如下所示:
</li><li onclick="fill('Boire Field, Nashua, NH, US (KASH)');">
Boire Field, Nashua, NH, US (KASH)</li>
Firebug给了我以下内容:
unterminated string literal
fill('Boire Field, Nashua, NH, US (KASH)
结果中的)
过早地结束了字符串。我怎样才能将其排除在外以便正确调用函数?
答案 0 :(得分:1)
正如布拉德所建议的那样..最好的方法是JSON_ENCODE
while ($result = $query->fetch_object()) {
echo '</li><li onclick="fill(\''.json_encode($result->name).'\');">'.$result->name.'</li>';
}