gpt4 book ai didi

php - 使用jquery和php从mysql数据库获取信息

转载 作者:行者123 更新时间:2023-11-29 10:24:40 25 4
gpt4 key购买 nike

我正在尝试使用 php 中的 ajax 和restapi 从 mysql 数据库获取数据。我希望在搜索栏上插入一个值,它会显示来自 mysql 的数据

API代码:

        $response = array();
$posts = array();
$ID = $_POST['ID'];
$sql = "SELECT * FROM table WHERE client_id = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $ID);
$stmt->execute();
$result= $stmt->get_result();
$row = $result->fetch_assoc();
while($row=mysql_fetch_array($result)) {
$user_id=$row['id'];
$username=$row['username'];
$client_id=$row['client_id'];
$token=$row['token'];

$posts = array('id'=> $user_id, 'username'=> $username, 'client_id'=> $client_id, 'token'=> $token);
}

echo json_encode($posts);

$stmt = null;
$mysqli = null;
}

?>

这是ajax代码

$('document').ready(function()
{
$("#search").on("click", function(e){
e.preventDefault();
var to_search = $("#search_value").val();
console.log(to_search);

var formData = {
'ID' : to_search,
};

$.ajax({
type : 'POST',
url : 'search.php',
data : formData,
dataType : 'JSON',
encode : true,
success: function (data, response, status, xhr) {
if (response.result) {
console.log('done');
console.log(data);
}else{
console.log('fail');
console.log(data);
}
},
error: function (xhr, status, error) {

}
});
});
});

它不起作用,我只是希望它在浏览器控制台上打印结果。该按钮正在工作,因为它在控制台上显示我在搜索栏上插入的值有什么建议吗?

最佳答案

我在你的ajax调用中没有看到任何问题,但是我对你的PHP代码做了一些修改(这是未经测试的)。

    $response = array();
$posts = array();
$ID = isset($_POST['ID']) ? $_POST['ID'] : 0; // Avoid warning because of missing "ID" post field
$sql = "SELECT * FROM table WHERE client_id = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('i', $ID); // ID's probably an integer, not a string
$stmt->execute();
$result= $stmt->get_result();
// Removed $row = $result->fetch_assoc();
while($row = $result->fetch_assoc()) { // Better use it this way
$user_id = $row['id'];
$username = $row['username'];
$client_id = $row['client_id'];
$token = $row['token'];

array_push($posts, array('id'=> $user_id, 'username'=> $username, 'client_id'=> $client_id, 'token'=> $token)); // Add the current loop element data to $posts
}

echo json_encode($posts);

$stmt = null;
$mysqli = null;

关于php - 使用jquery和php从mysql数据库获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48546702/

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