mysql — почему функция PHP DATE_ADD () возвращает синтаксическую ошибку

Я пытаюсь заполнить таблицу, используя некоторые другие конкретные таблицы (есть набор таблиц, известных как table_1, table_2, table_3 и т. Д.) В той же базе данных, давая интервал даты (чтобы получить строки, которые записываются в течение месяца). ниже код, который я использую

<?php
include("functions.php");
connect();
$table_count = mysql_query("SELECT COUNT(*) AS cnt FROM information_schema.tables WHERE table_schema = 'mydb' AND table_name LIKE 'mytable_%'");$row = mysql_fetch_assoc($table_count);
$loop_var = ($row["cnt"]);for ($x=1; $x<=$loop_var; $x++) {mysql_query("INSERT INTO stats (`useragent_browser`, `useragent_OS`, `timestamp`)
SELECT `useragent_browser`, `useragent_OS`, `timestamp` FROM table_'.$x.'
WHERE `timestamp` > DATE_ADD(NOW(), INTERVAL -1 MONTH)") or die(mysql_error());
}
?>

но в данный момент это возвращается как ошибочное высказывание

У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с » .1. ‘ ГДЕ timestamp > DATE_ADD (СЕЙЧАС (), ИНТЕРВАЛ -1 МЕСЯЦ) ‘в строке 2

Кто-нибудь может мне помочь, если я это выдохну?

-1

Решение

Попробуй это:

mysql_query("INSERT INTO stats (`useragent_browser`, `useragent_OS`, `timestamp`)
SELECT `useragent_browser`, `useragent_OS`, `timestamp` FROM table_$x
WHERE `timestamp` > DATE_ADD(NOW(), INTERVAL -1 MONTH)") or die(mysql_error());
}

или же

mysql_query("INSERT INTO stats (`useragent_browser`, `useragent_OS`, `timestamp`)
SELECT `useragent_browser`, `useragent_OS`, `timestamp` FROM table_".$x."WHERE `timestamp` > DATE_ADD(NOW(), INTERVAL -1 MONTH)") or die(mysql_error());
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]