如何将php ajax textbox值插入mysql数据库表?

时间:2016-02-25 09:29:57

标签: php mysql ajax

我的索引页面中有ajax调用,当用户在文本框中输入用户名需要插入mysql数据库表时,无法找到方法吗?

这是我的代码

$(document).ready(function () {
$('#enter_email_id').change(function () {  
var str = $('#enter_email_id').val();
var webFormURL = "get_acc_info.php?q=" + str;
    $.ajax({
    url: webFormURL,
    async: false,
   success: function (response) {
    $('.test_acc').html(response);
}   
}); 

这是插入db php页面

<?php
session_start();

$_SESSION["username"];

function insert_Details(){
    include 'Db_Connection.php';

    $sql="INSERT INTO search(searcher,searched_time,searched_email)
    VALUES('$_SESSION[username]',".NOW().",'$_POST[searched_email]')";
} 
?>

1 个答案:

答案 0 :(得分:1)

出于安全性的原因,您应该使用mysqli_real_escape_string()作为输入值。 我必须修复您的代码,但您应该将$_SESSION["username"]值替换为您想要的值,请使用以下代码:

<强> JavaScript的:

$(document).ready(function () {
$('#enter_email_id').change(function () {  
var str = $('#enter_email_id').val();
var webFormURL = "get_acc_info.php?q=" + str;
    $.ajax({
    type: 'post',
    url: webFormURL,
    async: false,
   success: function (response) {
    $('.test_acc').html(response);
}   
}); 

<强> PHP:     

$_SESSION["username"] = 'test_username';

function insert_Details(){
    //create mysqli connection
    include 'Db_Connection.php';

    $string = mysqli_real_escape_string($mysqli_link,$_POST[searched_email]);
    $session = mysqli_real_escape_string($mysqli_link,$_SESSION[username]);
    $sql="INSERT INTO search(searcher,searched_time,searched_email)
    VALUES('$session',NOW(),'$string')";

  if(mysqli_query($mysqli_link,$sql) ) {
   echo "OK";
  }
} 
?>