2013-08-23 5 views
1

Я пытаюсь вставить запись в базу данных MySQL, используя jQuery Ajax и PHP. Моя проблема заключается в том, что она не вставила ни одной строки в таблицу. Я попробовал этот код:Невозможно вставить запись в базу данных с помощью jQuery

Для HTML:

`<script> 
$(function(){ 
    //insert record 
    $('#insert').click(function(){ 
     var jcomments_manager = $('#fcomments_manager').val(); 


     //syntax - $.post('filename', {data}, function(response){}); 
     $.post('data.php',{action: "insert", name:jcomments_manager},function(res){ 
      $('#result').html(res); 
     });  
    }); 

    //show records 
    $('#show').click(function(){ 
     $.post('data.php',{action: "show"},function(res){ 
      $('#result').html(res); 
     });  
    }); 
}); 
</script> 
Add a comment: <input type="text" id="fcomments_manager" /> 

      <button id="insert">Insert</button> 

`

для PHP:

`if($_POST['action'] == 'insert'){ 

    $comments_manager = mysql_real_escape_string($_POST['comments_manager']); 

    $c_id = $_GET['c_id']; 

    $sql = "INSERT INTO candidate (comments_manager) 
       VALUES ('$comments_manager') 
       WHERE c_id = '$c_id' 
       "; 
    $query = mysql_query($sql); 
    if($query){ 
     echo "Record Inserted."; 
    }else { 
     echo "Something Wrong!"; 
    } 
} 

`

+0

Там нет c_id = ??? в url/uri $ .post(), как вы можете получить $ _GET ['c_id']? –

+0

Я получаю его из таблицы со всеми записями на пользователя, url говорит, что он принимает это: http: //localhost/dis/manager/add_comment.php? C_id = 154 – user2703341

ответ

0

имена параметров Вы находитесь на рассогласовани

//in server the manager parameter is read using name `comments_manager`, here you were passing it as name 
    $.post('data.php',{action: "insert", comments_manager:jcomments_manager},function(res){ 
     $('#result').html(res); 
    }); 
не
+0

Спасибо. Но у меня такая же проблема. – user2703341

+0

@ user2703341 проверить запрос ajax с помощью вкладки сети инструментов разработчика браузеров, чтобы узнать, какие данные отправляются –

+0

Я новичок в программировании, поэтому вы можете объяснить мне, что именно вы имеете в виду? – user2703341

0

$comments_manager = mysql_real_escape_string($_POST['comments_manager']);

не должно быть, что:

$comments_manager = mysql_real_escape_string($_POST['name']);

+0

Дарнит. Арун был на 9 секунд быстрее. – Floris

+0

Хорошо, я исправил это, но у меня есть одна и та же проблема. – user2703341

+0

Как сказал Кен Чунг, вы должны передать $ _GET ["c_id"] на data.php, поэтому введите $ .post url "data.php". $ _GET [ "c_id"]. Я бы обеспечил это значение GET, хотя бы я был вами. – Floris

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