如何通过ajax获取值选择并插入SQL
Posted
技术标签:
【中文标题】如何通过ajax获取值选择并插入SQL【英文标题】:How to take the value select and insert into SQL via ajax 【发布时间】:2021-10-23 21:48:35 【问题描述】:目标: 选择一个选项并通过 ajax 获取其值并插入到查询中。 感谢您的帮助。
bugs_cards.php
<div class="filtros-categoria-sistema">
<select id="session" name="session" class="form-control">
<option value='' selected >Selecione o Sistema</option>
<option value='00000000001'>teste 1</option>
<option value='00000000002'>teste 2</option>
</select>
</div>
SQL
if (isset($_POST['workselected1']))
$workselected = $_POST['workselected1'];
$SyntaxTransactionRotas = "SELECT * FROM sup_cad_bugs_cards where painel_COD = $workselected AND card_status = 'EN' AND card_nome $nome AND card_tipo_COD $categoria ";
AJAX
$('#session').on('change', function(e)
var workselected = $(this).val();
$.ajax(
method: "POST",
url: "bugs_cards.php",
data: workselected1: workselected,
cache:false,
success: function(data)
console.log(data);
);
);
【问题讨论】:
具体问题是什么?猜测一下,您需要在 SQL 语句中包含的值周围加上引号,并在where
子句中的值之前使用 =
运算符。您应该注意的主要事项是您的 PHP 对 SQL 注入攻击完全开放。您应该更改该逻辑以使用准备好的语句。
问题且选择选项1时,不通过ajax发送到php变量的值0000000000以插入SQL并执行查询。在这种情况下,where 子句查询应该是“SELECT * FROM sup_cad_bugs_cards WHERE painel_COD = 00000000001 ..
【参考方案1】:
试试下面的 sql 查询:
$SyntaxTransactionRotas = "SELECT * FROM `sup_cad_bugs_cards` where `painel_COD` = '$workselected' AND `card_status` = 'EN' AND `card_nome` = '$nome' AND `card_tipo_COD` = '$categoria' ";
提示:尝试使用准备好的语句,因为此 sql 查询容易出现 sql 注入。
【讨论】:
以上是关于如何通过ajax获取值选择并插入SQL的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 fullcalendar 使用 AJAX 将引导模式输入插入到 SQL 表中
用sql语句如何获取当前时间,如何通过写sql语句改变数据库中的值如何通过写sql语句把数据从数据中提取出来
如何通过javascript中的ajax调用传递blob值?