在 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 变量的主要内容,如果未能解决你的问题,请参考以下文章

C# SQL条件查询语句where中使用变量的用法

c# sql在where查询语句中使用字符串变量与int型变量

sql 语句查询出来的数据使带有某个重点的字符颜色发生改变

如何在sql语句中使用字符串变量

如何MyBatis中使用动态SQL查询与注释

在shell脚本中使用 isql 执行SQL语句 查询sybase数据库中满足条件的记录条数,怎么把查询结果赋给变量?