php - 如何将 php ajax 文本框值插入到 mysql 数据库表中?

标签 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);
}   
}); 

这是插入数据库的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]')";
} 
?>

最佳答案

出于安全的原因,您应该使用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";
  }
} 
?>

关于php - 如何将 php ajax 文本框值插入到 mysql 数据库表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35623256/

相关文章:

php - Laravel 请求中的用户 ID 参数

mysql - 使用连接简化 mysql 查询

php - mysql 使用 max 作为 where 条件

jquery - 如何通过从多选下拉列表中删除更改时的现有选项来附加新选项?

php - 加载完成后剪切图像

ajax - Node、Express、Ajax 和 Jade 示例

php - 为什么 cURL 比 file_get_contents 快?

javascript - 如何将节点内容从 xml 复制到硬编码的 html(动态到原始 html)?

php - 带有自定义字段参数的 WP_Query(复选框)

php - 页面加载后的 Ajax 请求