Я пытаюсь заполнить таблицу, используя некоторые другие конкретные таблицы (есть набор таблиц, известных как 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
Кто-нибудь может мне помочь, если я это выдохну?
Попробуй это:
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());
}
Других решений пока нет …