gpt4 book ai didi

php - 使用通过 .load() 传递给 PHP 的数据来执行数据库查询

转载 作者:行者123 更新时间:2023-11-29 23:41:08 24 4
gpt4 key购买 nike

我正在尝试让 AJAX 查询正常工作。我使用以下方法将数据传递给 PHP 脚本:

$(".example").click(function(){
x = this.innerHTML;
$("#example").load("ajax.php",{"data":x});
});

如果 ajax.php 仅包含以下内容(将此作为测试),则一切正常;我已成功将 JS 数据传递给 PHP。

echo $_POST['data'];

我的目标是使用 $_POST['data'] 查询我的数据库。作为另一个测试,我确保数据库连接一切正常。作品如下:

$example = $dbc->prepare("SELECT x, y, z, a FROM clue WHERE userID=?");
$example->bind_param('s',$_SESSION['user_id']);
$example->execute();
$example->bind_result($x,$y,$z,$a);
while($example->fetch()){
echo '<h3>'.$x.'</h3>';
echo '<p>'.$y.'</p>';
echo '<p>'.$z.'</p>';
echo '<p>'.$a.'</p>';
}

但是,当我修改以下行时,脚本不会返回任何内容。

$example = $dbc->prepare("SELECT x, y, z, a FROM clue WHERE userID=? AND a=?");
$example->bind_param('ss',$_SESSION['user_id'],$_POST['data']);

令人费解的是,JS传过来的数据最初是从数据库获取的。当我使用警报时,这些文字与我的数据库记录完全相同。

有什么建议吗?这可能与数据类型有关吗?我需要确保 $_POST['data'] 以某种方式转换为字符串吗?

当我查看 Firebug 时,我看到以下 POST 详细信息(“测试标题”是我的查询中使用的数据)

Parameters
data Test Title

Source
data=+Test+Title

+号代表空格吗?也许我需要从数据开头修剪一个空格?

最佳答案

这是由于空白造成的。修复了以下内容:

$(".example").click(function(){
y = this.innerHTML;
x = y.trim();
$("#example").load("ajax.php",{"data":x});
});

关于php - 使用通过 .load() 传递给 PHP 的数据来执行数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153736/

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