Как взять значение выбрать и вставить в SQL через ajax

#php #jquery #sql #ajax

Вопрос:

ЦЕЛЬ: выберите опцию, возьмите ее значение с помощью 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  ";    
 

АЯКС

    $('#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);
      }
    });
  });
 

Комментарии:

1. В чем конкретно проблема? По предположению, вам нужны кавычки вокруг значений, которые вы включаете в инструкцию SQL, и = операторы перед значениями в where предложении. Главное, что вы должны отметить, что ваш PHP широко открыт для атак с использованием SQL-инъекций. Вам следует изменить эту логику, чтобы вместо этого использовать подготовленные операторы.

2. проблема и в том, что при выборе варианта 1 значение 00000000001 не отправляется через ajax в переменную PHP для вставки в SQL и выполнения запроса . в этом случае запрос предложения where должен быть «SELECT * FROM sup_cad_bugs_cards, ГДЕ 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-инъекциям.