我想将数据从客户端插入到远程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/