什么是jQueryUI自动完成功能中的'term'表达式

时间:2013-06-18 21:50:44

标签: jquery jquery-ui autocomplete

我正在使用jQueryUI自动完成功能从数据库中读取数据。自动完成调用PHP脚本,下一步是:

$text = mysqli_real_escape_string($_GET['term']);
$query = "SELECT * FROM student WHERE name LIKE '%$text%'";
$result = mysqli_query($con,$query);
$exe = '[';
$first = true;
while($row = mysqli_fetch_assoc($result))
{
    if(!$first)
            {
                $exe .=  ','; 
            }
            else
            {
                $first = false;
            }
            $exe .= '{"value":"'.$row['fname'].', '.$row['lname'].'. "}';
            }
            $exe .= ']';
            echo $exe; 
}

据我所知,PHP代码将匹配数据保存到名为exe的JSON对象数组中,但我不明白的是:

$text = mysqli_real_escape_string($_GET['term']);
这是什么?我的输入字段叫做'name',我甚至不使用方法$ _GET,而是$ _POST。 'term'是自动完成功能默认添加的东西吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

是的,术语由自动完成插件自动传递。

答案 1 :(得分:0)

PHP

$ _ GET ['term']

从get字符串中检索term =的值。由于这是由用户/用户的浏览器提供的,因此它是不可信的值。为了保护您免受一些常见的SQL注入攻击,它通过mysqli_real_escape_string函数进行过滤,以转义任何sql-active字符。