【发布时间】:2023-03-25 23:12:01
【问题描述】:
无法弄清楚这里出了什么问题,没有出现错误,但没有返回任何内容。搜索栏应该从我的数据库中返回其他用户的姓名。
这里是Test.php:
<?php
session_start();
?>
<!DOCTYPE html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
function search(partialSearch){
$.ajax({
url:"PHP.php",
type:"POST",
data {partialSearch:partialSearch},
success:function(result){
$("#results").html(result);
}
});
};
</script>
</head>
<body>
<div class="container">
<h3>Find Other users</h3>
<input type="text" name="partialSearch"onkeyup="search(this.value)"/>
<div id="results"></div>
</div>
</body>
</html>
这里是 PHP.php
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "coursework_db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$partialSearch = $_POST['partialSearch'];
$stmt = $conn->prepare("SELECT username FROM members WHERE username LIKE ? ");
$stmt->bind_param('s',$partialSearch);
$stmt->execute();
$stmt->bind_result($username);
while ($row = $stmt->fetch()) {
$searchResults[] = $username;
echo "<div>".$searchResults."</div>";
}
?>
这是 SQL 表:
CREATE TABLE members (
memberID int(5) NOT NULL AUTO_INCREMENT,
username VARCHAR(65) NOT NULL UNIQUE,
password VARCHAR(65) NOT NULL,
PRIMARY KEY (memberID)
);
提前感谢您的帮助!
【问题讨论】:
-
您是否尝试过检查控制台日志是否有错误?
-
“没有出现错误”,因为您不检查错误。您在 js 和 php 中都有错误。在 JS 中,您至少有一个括号问题。在 php 中,您的结果是
<div>Array</div><div>Array</div>... -
好吧,我得到了这个工作。你应该可以把这一切拼凑起来。
-
怎么样?我做了更改,但仍然不对
-
@ConnorRoberts 请参阅下面的答案。 享受