0

これを実装しようとしていますが、コードが機能していないようです。データベースの名前でオートコンプリートを行いたいのですが、データベースに正常に接続しているように見えますが、オートコンプリートが機能していません。
ここにあります。

フォーム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";
}
?>
4

1 に答える 1

0

本当に「First_Name」でない限り、テーブル名が間違っていると思います...

しかし、あなたに質問させてください: 誰かが値 " '; SHOW TABLES" を入力するとどうなりますか?

http://www.php.net/manual/en/security.database.sql-injection.php

于 2013-09-24T16:20:51.777 に答える