在MySQL数据库中使用AJAX进行关键字搜索

时间:2013-01-14 10:27:56

标签: php mysql ajax database echo

我正在使用AJAX和MySQL组合搜索数据库并在表格中显示结果。不幸的是,它不会回应数据库的结果,但代码已找到它。

$in=$_GET['txt'];
$msg="";
if(strlen($in)>0 and strlen($in) <20 ) {
    $t=mysql_query("SELECT user FROM users WHERE user LIKE '$in%'");
    while($nt=mysql_fetch_array($t)) {
        $msg.=$nt[name]."->$nt[id]<br>";
    }
}
echo $msg;

这个问题似乎出现在我的代码中。

3 个答案:

答案 0 :(得分:1)

您只在查询中选择user。它应该是*吗?

SELECT user FROM users WHERE user LIKE '$in%'
->
SELECT * FROM users WHERE user LIKE '$in%'

答案 1 :(得分:1)

您选择了user但是要显示查询未返回的name,所以:

$in  = mysql_real_escape_string($_GET['txt']);
$msg = '';
if(strlen($in) > 0 && strlen($in) < 20){
  $t = mysql_query("SELECT id, name 
                    FROM users 
                    WHERE user 
                    LIKE '%$in%'");
  while($nt = mysql_fetch_array($t)){
    $msg .= $nt['name'] . "->" . $nt['id'] . "<br />";
  }
}

echo $msg;

请注意,我添加了mysql_real_escape_string()函数来阻止mysql注入

答案 2 :(得分:0)

您只是从数据库中选择user并将$msg$nt[name]连接起来

您的查询至少应该是

"SELECT user,name,id FROM users WHERE user LIKE '$in%'"