вставлять в таблицы из других таблиц - PullRequest
0 голосов
/ 29 мая 2020

Ну, я пытаюсь вставить в таблицы в другую, но получаю эту ошибку;

Ошибка базы данных WordPress: [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''lcl_user_agent' (user_agent, hitcount, click_timestap) SELECT visite_useragent,' at line 1]

Это мой код;

$addagent = "INSERT INTO $wpdb->prefix.'lcl_user_agent' (user_agent, hitcount, click_timestap) SELECT visite_useragent, visite_hitcount, click_timestap FROM $wpdb->prefix.'lcl_visite_agent' .agent_id IN (' . $agent_id . ')";

$wpdb->query($addagent);

Я хочу вставить в lcl_user_agent посещения из visite_useragent, тогда я получаю посещение для блока с $agent_id из формы

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Попробуйте:

$addagent = "INSERT INTO " . $wpdb->prefix . 'lcl_user_agent' . " (user_agent, hitcount, click_timestap) SELECT visite_useragent, visite_hitcount, click_timestap FROM " . $wpdb->prefix.'lcl_visite_agent' . " where agent_id IN (' . $agent_id . ')";

$wpdb->query($addagent);

Мне никогда не удавалось встраивать -> в строку с двойными кавычками. Просто делает более понятным объединение строк вместе. Кроме того, в этом случае, если у вас нет нескольких значений $agent_id, вы можете использовать where agent_id = $agent_id вместо использования IN.

0 голосов
/ 30 мая 2020

Похоже, вы напортачили в самом конце. Это должна быть такая форма:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

Так, может быть, это то, что вы собираетесь делать?

$addagent = '
 INSERT INTO 
        '.$wpdb->prefix.'lcl_user_agent
        (user_agent, hitcount, click_timestap) 
    SELECT 
        visite_useragent, visite_hitcount, click_timestap 
    FROM 
        '.$wpdb->prefix.'lcl_visite_agent
    WHERE
        agent_id IN (' . $agent_id . ')
 ';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...