在 SQL 语句/查询中使用 jQuery 变量
Posted
技术标签:
【中文标题】在 SQL 语句/查询中使用 jQuery 变量【英文标题】:Using a jQuery variable inside an SQL statement/query 【发布时间】:2019-10-11 00:22:28 【问题描述】:我在 index.php
中使用了 map-area 标签,所以使用 jQuery 我将点击区域标签的 ID 传递到我的 Modal 输入值中。
填充模态输入后,我使用 Ajax 将值发送到我的数据库表,直到现在一切正常。
html:
Modal 中的输入如下所示:
<input name="Raum" id="Raum" type="text" class="form-control"> </input>
我的 Ajax 代码:
$(document).ready(function()
$("#btn_submit").on('click', function(e)
e.preventDefault();
var id = $("#id_input" ).val();
var parentId = $("#Raum").val();
var dose = $("#Dose" ).val();
$.ajax(
method: "post",
url: "insert.php",
data: platz: id, raum: parentId, dose: dose,
dataType: "text",
success: function(strMessage)
$('#message').show(50).html("Success!");
setTimeout(function()
window.location.reload(1);
, 1500);
);
);
);
我正在尝试使用在 SQL 语句中存储区域标记 ID 的 jQuery 变量,以便能够根据区域 ID 获取数据。
我正在尝试将 jQuery 变量存储在 PHP 变量 $id_of_input
中:
$id_of_input = $_POST["platz"];
所以我的 SQL 语句应该是这样的:
$sth = $pdo->prepare("SELECT RaumNr, Platznummer, Dosennummer FROM
tcw_osi_raumplan_mitarbeiter WHERE Platznummer = '$id_of_input' ");
echo $id_of_input;
但它无法将 jQuery 变量存储在 $id_of_input
中。
有没有足够善良或聪明的人来帮我解决这个问题?将不胜感激。谢谢!
【问题讨论】:
@weletonne dataType 与发送数据无关,它处理返回数据(他的返回是文本的简单回显)。您关于“测试”的注释是正确的,可能是问题所在。 @IncredibleHat 哦,是的,谢谢 (附带说明...这不是您将prepare
与 PDO 一起使用的方式...在您开始工作后可能需要调查一下)
@IncredibleHat 我已经编辑了我的代码以显示 HTML,也请忽略我提供的 pdo 代码,因为我只是没有复制整个代码来缩短我的问题。
我们可能需要您尝试提交的“完整表格”。请记住,“ID”在整个 DOM 中必须是唯一的,而且如果您不向发送的数据添加字段,则不会自动包含它。你所展示的,你只发送了三个 platz: id, raum: parentId, dose: dose
... 的 POST 变量,所以这些也是你在 PHP 中唯一可以访问的变量。问题是 JS 是否传递了正确的值,或者 PHP 是否没有得到它给定的值(我怀疑除非你在某处有一些 php 代码会破坏你的 $_POST 超全局)。
【参考方案1】:
在您的 PHP 文件中,您需要更改 $_POST
索引。
$id_of_input = $_POST["test"];
到
$id_of_input = $_POST["raum"];
因为在来自 jquery 的 RAUM
变量中,您拥有该表单字段值。
然后它将在 SQL 语句中正常工作
【讨论】:
已经试过了,还是不行。我有另一个名为“test”的输入,这就是为什么我将 test 放在 $_POST 中以查看它是否有效以上是关于在 SQL 语句/查询中使用 jQuery 变量的主要内容,如果未能解决你的问题,请参考以下文章