gpt4 book ai didi

javascript - Jquery 和 PHP,自动完成

转载 作者:行者123 更新时间:2023-11-27 23:42:14 25 4
gpt4 key购买 nike

所以我刚刚发现了 jquery 自动完成功能,我想将它添加到我的网页中。我想把它连接到我的 php 代码,这样我就可以搜索我的 sql 数据库。但是,每当我尝试运行我的自动完成时,它似乎没有发现我正在传递的 php 数组(我只是想让一个数组暂时工作)。有人可以帮忙吗?

J查询代码

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#tags" ).autocomplete({
source: "test.php"
});
});
</script>
</head>
<body>

<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>


</body>
</html>

PHP代码

<?php
$data[] = array(
'c++','Java','JavScript',"c#" );
echo json_encode($data);
?>

最佳答案

这是您的答案的更新版本,应该可以解决已弃用的 SQL 驱动程序和注入(inject)问题。您需要将 SECOND_COLUMNNAME 替换为实际列的名称。除此之外,我认为这应该可行。

<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=DB','username','password');
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
if(empty($_REQUEST['term']))
exit();
//require_once('connect.php'); connection to db is in this file so connection is not needed
$query = 'SELECT name, SECOND_COLUMNNAME FROM locations
WHERE name
LIKE ?
ORDER BY id ASC
LIMIT 0,10';
$stmt = $dbh->prepare($query);
$stmt->execute(array(ucfirst($_REQUEST['term']) . '%'));
$data = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data[] = array(
'label' => $row['name'],
'value' => $row['SECOND_COLUMNNAME']
);
}
echo json_encode($data);
flush();

链接:

http://php.net/manual/en/pdo.prepared-statements.php
http://php.net/manual/en/pdo.connections.php
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
How can I prevent SQL injection in PHP?

也不确定 connect.php 中是否还有其他内容,您可能需要将其恢复。

关于javascript - Jquery 和 PHP,自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com