ygal brami :
I get an error when i try to run this query, heck the manual that corresponds to your MariaDB server version.... please check whats wrong and how to fix that? i have used this code to select 3 tables and its work great, i have modify it to update the data in 3 tables. hoping somone can help
$get_user_id = $_GET['id'];
$userlogin = $_POST['user_login'];
$nicename = $_POST['user_nicename'];
UPDATE
wp_users, wp_usermeta, wp_ihc_user_levels
FROM wp_users
INNER JOIN wp_usermeta AS usermeta_firstname
ON wp_users.ID = usermeta_firstname.user_id
AND usermeta_firstname.meta_key = 'first_name'
INNER JOIN wp_usermeta AS usermeta_lastname
ON wp_users.ID = usermeta_lastname.user_id
AND usermeta_lastname.meta_key = 'last_name'
INNER JOIN wp_usermeta AS usermeta_original_link
ON wp_users.ID = usermeta_original_link.user_id
AND usermeta_original_link.meta_key = 'original_link'
INNER JOIN wp_usermeta AS usermeta_new_link
ON wp_users.ID = usermeta_new_link.user_id
AND usermeta_new_link.meta_key = 'new_link'
INNER JOIN wp_usermeta AS usermeta_exp_link
ON wp_users.ID = usermeta_exp_link.user_id
AND usermeta_exp_link.meta_key = 'exp_link'
INNER JOIN wp_ihc_user_levels ON wp_ihc_user_levels.user_id = wp_users.ID
SET wp_usermeta.user_login = '21'
wp_usermeta.user_nicename = '$nicename',
wp_usermeta.user_email = '$email',
wp_usermeta.user_registered = '$registered',
wp_usermeta.user_activation_key = '$activation',
wp_usermeta.user_status = '$status',
wp_usermeta.display_name = '$display_name',
usermeta_original_link.meta_key = '$original',
usermeta_new_link.meta_key = '$new',
usermeta_exp_link.meta_key = '$exp_link',
wp_ihc_user_levels = '$level'
WHERE wp_users.ID = '$get_user_id'
Gordon Linoff :
I think the syntax you want is:
UPDATE wp_users JOIN
wp_usermeta usermeta_firstname
ON wp_users.ID = usermeta_firstname.user_id AND
usermeta_firstname.meta_key = 'first_name' JOIN
wp_usermeta usermeta_lastname
ON wp_users.ID = usermeta_lastname.user_id AND
usermeta_lastname.meta_key = 'last_name' JOIN
wp_usermeta AS usermeta_original_link
ON wp_users.ID = usermeta_original_link.user_id AND
usermeta_original_link.meta_key = 'original_link' JOIN
wp_usermeta usermeta_new_link
ON wp_users.ID = usermeta_new_link.user_id AND
usermeta_new_link.meta_key = 'new_link' JOIN
wp_usermeta usermeta_exp_link
ON wp_users.ID = usermeta_exp_link.user_id AND
usermeta_exp_link.meta_key = 'exp_link' JOIN
wp_ihc_user_levels
ON wp_ihc_user_levels.user_id = wp_users.ID
SET wp_usermeta.user_login = '21'
wp_usermeta.user_nicename = '$nicename',
wp_usermeta.user_email = '$email',
wp_usermeta.user_registered = '$registered',
wp_usermeta.user_activation_key = '$activation',
wp_usermeta.user_status = '$status',
wp_usermeta.display_name = '$display_name',
usermeta_original_link.meta_key = '$original',
usermeta_new_link.meta_key = '$new',
usermeta_exp_link.meta_key = '$exp_link',
wp_ihc_user_levels = '$level'
WHERE wp_users.ID = '$get_user_id' ;
Note: You are munging the query string with constant values. That is a really, really bad idea. You want to use parameters to pass values into the query.
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=386729&siteId=1