2013-06-18 99 views
1

我正在使用jQueryUI自動完成功能從數據庫中讀取數據。自動完成功能調用一個PHP腳本,它正在尋找下一個:什麼是jQueryUI自動完成功能中的'term'表達式

$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']); 

這是什麼?我的輸入字段被稱爲「名稱」,我什至不使用方法$ _GET,但$ _POST。 'term'是自動完成功能默認添加的內容嗎?提前致謝。

回答

2

是的,自動填充插件自動傳遞詞語。

0

的PHP

$ _GET [ '長期']

檢索項=從一開始的字符串值。由於這是由用戶/用戶的瀏覽器提供的,所以它是不可信的值。爲了保護您免受一些常見的sql注入攻擊,它通過mysqli_real_escape_string函數進行過濾以轉義任何sql活動字符。