php - 使用 AJAX 从客户端插入 mySQL

标签 php jquery ajax

我想将数据从客户端插入到远程mySQL数据库

我正在调用一个函数并向其中传递一个变量。

function uploadMetrics(email){
   var email;

  $.ajax({
    type: 'post',
    url: 'php/insertConvertData.php',
    data: {
        data: {"email" : email },
       //data:email,
    },
    success: function(result) {
        console.log(result);
    }
  });
}

在服务器上我有一个 php 文件

$user = $_POST['email'];
echo $user;
echo '<pre>';
print_r($_POST); // for viewing it as an array
var_dump($_POST); // for viewing all info of the array
echo '</pre>';


$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO cms_conversion_funnel (email)
VALUES ('" . $user . "')";


if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

代码运行良好,我可以连接到数据库并运行插入,但插入一个空字符串。

我将“email”的值转储到控制台并得到:

(
   [data] => Array
        (
            [email] => teretst@gmail.com
        )

)
array(1) {
  ["data"]=>
  array(1) {
    ["email"]=>
    string(17) "teretst@gmail.com"
  }
}

电子邮件变量中似乎有一个值,但它没有被拾取并传递到插入语句中。谁能帮忙,我是 php 和 AJAX 新手。

最佳答案

因为它是 $_POST['data']['email'],而不是 $_POST['email']

关于php - 使用 AJAX 从客户端插入 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323242/

相关文章:

php - 有没有办法将 React 合并到现有的 Laravel 5.2 应用程序中?

javascript - jQuery post 和 OnClick 问题

javascript - 使用 setInterval 循环从网页上的 JavaScript 发布到 Node 端点

java - 我应该为聊天网站使用 PHP 还是 JSP?

java - 在同一 Jersey 服务中解码不同对象

php - 新闻脚本插入新闻数据,但不编辑新闻

php - 根据 PHP 变量设置表单下拉列表

用于从移动应用程序的 mysql 服务器获取数据的 PHP 代码

ASP.NET Webmethod 总是返回 401

java - 基于 Web 还是基于 PC 的过程控制应用程序?