Обновить таблицу подстановочным знаком? - PullRequest
0 голосов
/ 14 января 2019

Мы используем логин по IP на +200 WordPress сайтах. Поскольку мы недавно переехали, нам нужно изменить IP-адрес. Я использовал этот фрагмент кода в ManageWP

<?php

    global $wpdb;

    $wpdb->query( 
        "UPDATE wp_UNIQUE_PREFIX_ip_based_login
        SET start='X', end='Y'"
     );


?>

но я только что обнаружил, что все установки WP имеют уникальный префикс. Поэтому я пытаюсь объединить вышеупомянутую команду SQL с выбором с подстановочным знаком. Я пытаюсь найти все таблицы, которые заканчиваются на «ip_based_login», и установить начальный и конечный столбец с новым IP-адресом. Вот что у меня так далеко.

SELECT TABLE_NAME
    FROM INFORMATION_SCHEMA.tables
    WHERE TABLE_NAME LIKE '%_ip_based_login'
    SET start='X', end='Y'

Я получаю эту ошибку Error in query (1064): Syntax error near 'SET start='x', end='y'' at line 4

EDIT: Благодаря RiggsFolly я использовал префикс $ wpdb-> для объединения с концом таблицы. Итак, я закончил с

<?php

global $wpdb;

$table_name = $wpdb->prefix . "ip_based_login";

$wpdb->query( 
    "UPDATE $table_name
    SET start='X', end='Y'"
 );


?>

Это не решение моего первоначального вопроса, но оно решило мою проблему.

1 Ответ

0 голосов
/ 14 января 2019

Вам нужно два шага:

Найдите таблицы WP с

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.tables
WHERE TABLE_NAME LIKE '%_ip_based_login';

Просмотрите ваш результат и обновите его с помощью

UPDATE <tablename>
SET start = 'X', end = 'Y';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...