【发布时间】:2021-07-31 05:54:01
【问题描述】:
我正在尝试将 id 从当前 URL 发送到 select.php 页面,但它显示的 id 未定义并且无法获取任何数据。
我想从 SQL 表中获取索引上级
用于显示获取的上级 ID 的数据。
<script>
$(document).ready(function(){
function fetch_data()
{
$.ajax({
type:'post',
url:"select.php" + id ,
method:"POST",
dataType:"json",
success:function(data)
用于从 AJAX 查询中获取数据的 (select.php) 文件。
但这无法从 URL 中获取 id。
<?php
$connect = new PDO("mysql:host=localhost;dbname=mta_bd", "root", "");
$query = 'SELECT * FROM all_stores where suporder='.$_GET['id'];
$statement = $connect->prepare($query);
if($statement->execute())
{
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
$data[] = $row;
}
echo json_encode($data);
}
?>
用于从索引中获取作为 id 的上级的 SQL db
像这样从上一个 URL 获取 id
echo '<td align="right">
<a type="button" class="btn btn-primary bg-gradient-primary" href="issue.php?id='.$row['suporder'] . '"><i class="fas fa-fw fa-list-alt"></i> Enter Data</a>
在 url:"select.php?id=" + id, :
url:"select.php?id=" + id,
method:"POST",
dataType:"json",
success:function(data)
【问题讨论】:
-
url:"select.php" + idid这里是什么?为什么要将它附加到文件名? -
您没有启动查询字符串或命名 URL 参数。试试
url:"select.php?id=" + id。但目前尚不清楚id在 JavaScript 中实际定义或填充的位置——该变量从何而来?如果您发送的唯一数据是单个查询参数,那么发送 POST 也没有多大意义。 -
id 指的是上一个url中使用的get id标签,用来获取这个带有链接id url(localhost/mta_bd/pages/issue.php?action=edit%20&%20id=244)的页面
-
您的代码也容易受到 SQL 注入的攻击。同样,如果你不使用参数,那么使用准备好的语句真的没有意义——它不能保护你。有关如何正确执行此操作的示例,请参阅stackoverflow.com/questions/60174/…。
-
@brombeer $_GET['id'] 在您发送 POST 请求时将不可用 ...实际上,如果它在查询字符串上,它将不可用。但是 URL 构造不正确,这就是问题所在 - 请参阅前面的 cmets
标签: javascript php jquery sql ajax