我一直在努力实现这一点,代码似乎没有起作用。
我希望自动完成与数据库中的名称一起使用。看起来像我正在连接到数据库,但自动完成不起作用。
这里是。
表单jquery
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />
<script type="text/javascript">
$(document).ready(function(){
$("#name").autocomplete({
source:'search.php',
minLength:1
});
});
</script>
这是表格
<form action="search.php" method="GET">
Last Name : <input type="text" id="First_Name" name="query" />
<input type="submit" value="Search" />
</form>
这是search.php
<?php
$host="localhost"; // Host name
$username="username"; // Mysql username
$password="password"; // Mysql password
$db_name="ambassador"; // Database name
$con = mysql_connect($host,$username,$password) or die(mysql_error());
mysql_select_db($db_name, $con) or die(mysql_error());
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT First_Name as First_Name from First_Name where First_Name LIKE '%$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs['First_Name'];
echo "$cname\n";
}
?>
答案 0 :(得分:0)
我会说你有错误的表名,除非它真的是“First_Name”......
但是让我问你:如果有人输入“'; SHOW TABLES”这个值会怎么样?
http://www.php.net/manual/en/security.database.sql-injection.php