我正在尝试更新数据库onBlur中的记录,但它不起作用。有关如何实现这一目标的任何想法?我的代码如下所示。
JS
$(function () {
$("textarea").blur(function() {
var meta_value = $(this).val();
var meta_key = $(this).attr("id");
alert(meta_value + meta_key);
$.get('script-url', { key: meta_Key, value: meta_value}, function(data) {
});
});
});
PHP
<?php
if(isset($_POST['key']))
{
$meta_value = $_REQUEST['value'];
$meta_key = $_REQUEST['key'];
$servername = "hhh";
$username = "hhh";
$password = "hhh";
$dbname = "hhh";
global $wpdb;
$user_ID = get_current_user_id();
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE wp_usermeta SET meta_value = $meta_value WHERE meta_key = $meta_key AND user_id= $user_ID";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
?>
答案 0 :(得分:0)
试试这个;)
您正在发送key
&amp;服务器value
不是meta_key
;
因此更新此条件
if(isset($_POST['meta_key'])){
到
if(isset($_POST['key'])){
答案 1 :(得分:0)
问题?所以你真的从来没有得到结果尝试从GET请求获取POST值 也许用
$.on('ready', function() {
$("textarea").on('blur', (function() {
var meta_value = $(this).val();
var meta_key = $(this).attr("id");
alert(meta_value + meta_key);
$.post('script-url', {
key: meta_Key,
value: meta_value
}, function(data) {
});
});
});