【发布时间】:2016-11-23 15:01:48
【问题描述】:
我想知道为什么我的查询没有返回标题所暗示的数据
我的 JQuery:
$(".output").click(function() {
var noteid = $(this).data("noteid");
$("#right-box").load("connectionDetails.php", { noteid: noteid });
});
我的 connectionDetails.php
<?php
$myServer = "replaced";
$connectionInfo = array('Database' => 'replaced', 'UID' => 'replaced', 'PWD' => 'replaced');
//connection to the database
$conn = sqlsrv_connect($myServer, $connectionInfo)
or die("Couldn't connect to SQL Server on $myServer");
//Test connection to server
// if ($conn)
// {
// echo "connection successful"; # code...
// }
//Defining my queries
$getNotes = "SELECT NoteID, NoteName, Note FROM Notes";
$getTemplateNotes = "SELECT TemplateNoteID, TemplateNoteName, TemplateNote FROM TemplateNotes";
$getReplaceVariables = "SELECT ReplaceVariableID, ReplaceVariableName, ReplaceVariableNote FROM ReplaceVariables";
$showNoteInfo = "SELECT Note FROM Notes WHERE NoteID = '" . isset($_POST['noteid']) . "'";
var_dump($_POST);
$resultNotes = sqlsrv_query( $conn, $getNotes );
$resultTemplate = sqlsrv_query($conn, $getTemplateNotes);
$resultVariables = sqlsrv_query($conn, $getReplaceVariables);
$showNotes = sqlsrv_query($conn, $showNoteInfo);
if( $resultNotes === false)
{
die( print_r( sqlsrv_errors(), true) );
}
if( $resultTemplate === false)
{
die( print_r( sqlsrv_errors(), true) );
}
if( $resultVariables === false)
{
die( print_r( sqlsrv_errors(), true) );
}
?>
我的 index.php
<!DOCTYPE html>
<html>
<head>
<title>Juan - Home</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="scripts/scripts.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" media="all">
<link rel="stylesheet" href="styles/igotswag.css" type="text/css">
<link rel="stylesheet" href="styles/swaganimations.css" type="text/css">
</head>
<body>
<?php include 'connectionDetails.php'; ?>
<!-- Header Area -->
<table class="header-container">
<tr>
<td style="width: 40%; text-align: left;"><a href="index.php"><img class="hover-cursor" src="Images/TEAMS_Logo.png"></a></td>
<td style="width: 10%;" class="custom-header">TEAMS Wiki <span style="font-size: 30px;" class="glyphicon glyphicon-globe"></span></td>
<td style="width: 40%;">
<table style="text-align: right; width: 100%">
<tr>
<td style="text-align: right;"><span style="font-size: 24px; text-align: right;" class="hvr-icon-grow"></span></td>
</tr>
</table>
</td>
</tr>
</table>
<div class="pull-down-container">
<div class="panel1">
<br />
<p>Now you see me!</p>
</div>
<p class="slide" style="text-align: center;">
<div class="pull-me hvr-icon-hang" style="text-align: center; vertical-align: top;">More</div>
</p>
</div>
<!-- End Header Area -->
<!-- Main Body Area -->
<div class="main-container-notes">
<div id="left-box">
<?php
echo "<div style='width: 100%;'>";
while( $noteName = sqlsrv_fetch_array( $resultNotes, SQLSRV_FETCH_ASSOC))
{
echo "<div class='hvr-bounce-to-right1 hover-cursor output' data-noteid='{$noteName['NoteID']}' style='width: 100%; border-right: 5px solid #00AA88; height: 50px;'>" . $noteName['NoteName'] . "</div>";
}
echo "</div>";
?>
</div>
<div id="right-box">
<?php
if ($note = sqlsrv_fetch_array( $showNotes, SQLSRV_FETCH_ASSOC))
{
echo $note['Note'];
}
?>
</div>
</div>
<!-- End Main Body Area -->
<!-- Footer Area -->
<!-- End Footer Area -->
</body>
</html>
在我的主索引中,有一个 while 循环可以很好地从数据库中检索数据,通过的每条数据都从我的 SQL 表中获得一个 ID,带有 data-noteid='{$noteName['NoteID']}',然后在我的 JQuery 中分配该 ID
因此,当我单击其中一个生成的 div 时,它会根据 ID 在同一页面上拉出扩展文本(因此是 AJAX)
当我在 connectionDetails.php 中使用 var_dump($_POST) 时,它返回 array(0) { }
那么为什么它没有找到任何 ID?
【问题讨论】:
-
SQL注入警告!!!
-
@JonStirling 我也是这么想的,但是在手册中:
The POST method is used if data is provided as an object; otherwise, GET is assumed. -
@jeroen 好地方。我想这是有道理的,虽然不是很明显。
-
在
var noteid = $(this).data("noteid");之后使用console.log(noteid)时会得到什么输出? -
我刚刚运行了一个非常精简的版本,它可以工作。我正在显示帖子。只是想看看有什么不同..