2014-11-18 2 views
0

У меня возникла проблема с добавлением записей в базу данных. Чтобы быть более конкретными, статические значения правильно добавляются в таблицу, но, просматривая значения из текстовых полей, они являются ПУСТОЙ. 0 в таблице. Я проверил SQL-запрос и обнаружил, что у меня есть ошибка где-то, потому что значения, полученные из текстовых полей, пусты.Невозможно вставить значения в базу данных с помощью JS, PHP

Ниже я собираюсь показать все функции, связанные с этим случаем, и, надеюсь, вы обнаружите ошибку, которую я пытаюсь решить.

Функция, содержащая SQL-запрос.

function updateGuestSet($no_of_keys, $no_of_fobs) { 
    $today = date('Y-m-d H:i:s'); 
    $keys = array(); 

    try { 
     $transaction = new Transaction(); 
     $query = 'INSERT INTO `keysets` (`noKeys`, `noFobs`, `masterSet`, `createdate`, `createby`, `keys_idkey`)VALUES("' .$no_of_keys. '","' .$no_of_fobs . '","0","' . $today . '","Jarek","2")'; 
     echo($query); 
     die; 
     $keys = QueryExecutor::execute(new SqlQuery($query)); 
     $transaction -> commit(); 
    } catch(Exception $e) { 
     echo $e; 
    } 
    return $keys; 
} 

Эта функция используется, чтобы показать/добавить/удалить поле набора

function show_add_guestFields(){ 
    $('#guestSet').append('<div class="fields"><label for="keys">No. of keys</label><input type="number" name="keys" class="keys" id="keys" onkeypress="return isNumberKey(event);" style="margin: 0px 0px 0px 65px;"/><br/><br/><label for="fobs">No. of fobs</label><input type="number" name="fobs" class="fobs" id="fobs" onkeypress="return isNumberKey(event);" style="margin: 0px 0px 0px 68px;"/><br/><br/><button onClick="valid();">Submit</button><button class="remove" style="margin:0px 0px 10px 0px;">Cancel</button></div>'); 

    $('#guestSet').on('click', '.remove', function(){ 
    $(this).parent().remove(); 
    return false; 

}); 
} 

функции, связанные с PHP кода

function updateGuestSet(){ 
    var no_of_keys = $('#keys').val(); 
    var no_of_fobs = $('#fobs').val(); 


    $.ajax({ 
       type: 'POST', 
       url: 'propertyId.php', 
       data:{ 
         update:'keySet', 
         no_of_keys:no_of_keys, 
         no_of_fobs:no_of_fobs 
        }, 
       async: true, 
       dataType:'json', 
       success: function(){ 

       } 
     }); 
} 

Наконец, это код PHP;

if($_POST['update'] == 'keySet'){ 
    $no_of_keys = $_POST['keys']; 
    $no_of_fobs = $_POST['fobs']; 
    //echo("test"); 

    $insert_keySet = updateGuestSet($no_of_keys, $no_of_fobs); 


} 

Это то, что я получаю, когда я присоединяюсь к SQL-запрос

INSERT INTO keysets (noKeys, noFobs, masterSet, createdate, createby, keys_idkey)VALUES("","","0","2014-11-18 17:37:37","Jarek","2") 

спасибо за все !! помощь

+0

Что вы говорите, это результат 'echo ($ query)' не соответствует вложенному вам –

+0

Что такое 'QueryExecutor :: execute'? Откуда это происходит? Почему вы не [правильно избегаете] (http://bobby-tables.com/php) своих значений? – tadman

ответ

1

Нужные клавиши POST:

  • keys
  • fobs

Фактические POST ключи:

  • no_of_keys
  • no_of_fobs

Просто сделайте их одинаковыми.

Смежные вопросы