Ошибка при попытке обновить данные в 3 таблицах. Проверьте руководство, соответствующее вашему серверу MariaDB. - PullRequest
0 голосов
/ 29 марта 2020

Я получаю сообщение об ошибке при попытке выполнить этот запрос, проверьте руководство, соответствующее версии вашего сервера MariaDB .... пожалуйста, проверьте, что не так и как это исправить? Я использовал этот код, чтобы выбрать 3 таблицы, и он отлично работает, я изменил его, чтобы обновить данные в 3 таблицах. надеясь, что сомоне может помочь

$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'           

Ответы [ 2 ]

2 голосов
/ 29 марта 2020

Я думаю, что вам нужен следующий синтаксис:

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' ;    

Примечание. Строка запроса состоит из постоянных значений. Это действительно очень плохая идея. Вы хотите использовать параметры для передачи значений в запрос.

0 голосов
/ 04 апреля 2020

Я допустил ошибку в своем коде, правильный код:

UPDATE wp_users JOIN
   wp_usermeta AS usermeta_firstname
   ON wp_users.ID = usermeta_firstname.user_id AND
      usermeta_firstname.meta_key = 'first_name' JOIN
   wp_usermeta AS 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 AS usermeta_new_link
   ON wp_users.ID = usermeta_new_link.user_id AND
      usermeta_new_link.meta_key = 'new_link' JOIN
   wp_usermeta AS 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.value = '$original',
    usermeta_new_link.value = '$new',
    usermeta_exp_link.value = '$exp_link',
    wp_ihc_user_levels = '$level'   
WHERE wp_users.ID = '$get_user_id'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...