есть функция в каторую летять данные из цыкла какторый переберает файл КСВ! Сразу скажу переменые все нормальные не пустые валидные одним словом! Код (Text): function sales($uniq,$q,$s,$kg,$date){ $uniq = mysql_real_escape_string($uniq); //$dDate = str_replace(".","-",$date); $dDate = "2013-11-29"; $delivery = $dDate; mysql_query("CREATE TABLE IF NOT EXISTS `sales` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), `segment` int(11) NOT NULL, FOREIGN KEY (segment) REFERENCES segment (id), `tt` int(11) NOT NULL, FOREIGN KEY (tt) REFERENCES tt (id), `uniq` varchar(255) NOT NULL, `tmc` int(11) NOT NULL , FOREIGN KEY (tmc) REFERENCES tmc (id), `region` int(11) NOT NULL , FOREIGN KEY (region) REFERENCES region (id), `date` DATETIME NOT NULL, `delivery` DATETIME NOT NULL, `q` int(11) NOT NULL, `s` float(11) NOT NULL , `kg` float(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8" ); $tmcid = $GLOBALS[tmc][id]; $segid = $GLOBALS[segment][id]; $ttid = $GLOBALS[tt][id]; $regid = $GLOBALS[region][id]; mysql_query("INSERT INTO sales (segment,tt,uniq,tmc,region,date,delivery,q,s,kg ) VALUES($segid,$ttid,'".$uniq."',$tmcid,$regid,CAST ('$dDate' AS DATETIME),CAST ('$delivery' AS DATETIME),$q,$s,$kg)"); } таблица создаётся!(а вот инсёрт не делается) к слову тум еще создаются таблицы.... так там всё нормально! а вот эта не хочет подскажите шо за.....
Спасибо !!! было включенно но НОТИСЫ не показывала!!!! выдало оштибку Notice: Use of undefined constant region - assumed 'region' in Z:\home\localhost\www\csv\olap.php on line 150 ща буду смотреть! Добавлено спустя 3 минуты 58 секунд: $tmcid = $GLOBALS[tmc][id]; заменил $tmcid = $GLOBALS['tmc']['id']; все ошибки пропали!!!!! ну всё равно не работает
ну еще раз ту же страничку почитай ))) Добавлено спустя 4 минуты 44 секунды: + еще доку по mysql_query. в примерах самое интересное
вроде всё так и делаю!!! .... ну видать что то туплю просто 3 день перебераю!!!! ДЕЛО В ТОМ ЧТО ОНО У МЕНЯ РАБОТАЛО,писал циклично функцию-работает,дальше,итд вот например есть функции function segment($id1c,$name){ function region($id1c,$name){ function partner($id1c,$name,$type){ итд они создают таблицы и ИНСЁРТАТ туда данные ...... все ОТЛДИЧНО РАБОТАЕТ!!!!!!! далее создаю таблицу SALES все создано отлично!!!!! пигу инсёрт все мертвое поле!!!!!!! ВРОДЕ НЕ ЧЕГО НЕ МЕНЯЛ кординального!!!!!!!!!!!! пришел грубо говоря после перекура все не работает и пи.....ц хоть толкнике в какуйто степь!!! дебагом по возможности пробовал рабобать(тоесть вкл ошибки у видел подправил итд) Вот сам индекс Код (Text): <?php header('Content-Type: text/html; charset=windows-1251'); ?> <?php include_once "olap.php"; connector(); $row = 1; if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 10000, ";")) !== FALSE){ if($row > 1){ segment($data[1],$data[0]); region($data[5],$data[4]); partner($data[17],$data[18],$data[19]); tt($data[20],$data[21]); tmc($data[24],$data[25]); sales($data[27],$data[31],$data[32],$data[33],$data[12]); } $row++; } fclose($handle); } ?> Добавлено спустя 9 минут 7 секунд: блин уже по 3 разу штудирую
Спасибо Друг,дал оч дельные ссылки! ЕЩЕ РАЗ СПАСИБО!!! задачу на данном этапе решил!! НУ ВОТ СКАЖИ плз в чем разница этих двух запросов!? mysql_query("INSERT INTO sales (segment,tt,uniq,tmc,region,date,delivery,q,s,kg ) VALUES($segid,$ttid,'".$uniq."',$tmcid,$regid,CAST ('$dDate' AS DATETIME),CAST ('$delivery' AS DATETIME),$q,$s,$kg)"); mysql_query("INSERT INTO sales (segment,tt,tmc,region,q,s,kg,date,delivery,uniq) VALUES($segid,$ttid,$tmcid,$regid,$q,$s,$kg,CAST('$dDate' AS DATETIME),CAST('$delivery' AS DATETIME),'".$uniq."')"); соотвественно 1 рабочий другой нет! ну вот не пойму помогите ПОНЯТЬ
не надо гадать. mysql_error что говорит? как выглядит готовый запрос? что вижу я по ссылкам, которые давал: не думай, что здесь сидят какие-то волшебники с мозгом в 1м³. никто не просчитает все вероятные ошибки за тебя — отлаживайся.
не поняль что вы имеете ввиду под готовым запросом!! ЭТО ПОКА ТОЛЬКО ЗАГОТОВКА ГОТОВОГО ПРОЕКТА и может много еще не доведенна до ума! (эта ж разработка потом будет потпровлятся) рабочая ф-я Код (Text): function sales($uniq,$q,$s,$kg,$date){ $uniq = mysql_real_escape_string($uniq); //$dDate = str_replace(".","-",$date); $dDate = "2013-11-29"; $delivery = $dDate; mysql_query("CREATE TABLE IF NOT EXISTS `sales` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), `segment` int(11) NOT NULL, FOREIGN KEY (segment) REFERENCES segment (id), `tt` int(11) NOT NULL, FOREIGN KEY (tt) REFERENCES tt (id), `uniq` varchar(255) NOT NULL, `tmc` int(11) NOT NULL , FOREIGN KEY (tmc) REFERENCES tmc (id), `region` int(11) NOT NULL , FOREIGN KEY (region) REFERENCES region (id), `date` DATETIME NOT NULL, `delivery` DATETIME NOT NULL, `q` int(11) NOT NULL, `s` float(11) NOT NULL , `kg` float(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8" ); $tmcid = $GLOBALS['tmc']['id']; $segid = $GLOBALS['segment']['id']; $ttid = $GLOBALS['tt']['id']; $regid = $GLOBALS['region']['id']; mysql_query("INSERT INTO sales (segment,tt,tmc,region,q,s,kg,date,delivery,uniq) VALUES($segid,$ttid,$tmcid,$regid,$q,$s,$kg,CAST('$dDate' AS DATETIME),CAST('$delivery' AS DATETIME),'".$uniq."')"); } а поповоду мускул_ерор ----> надо типо так .. $sql = "INSERT INTO sales (segment,tt,tmc,region,q,s,kg,date,delivery,uniq) VALUES($segid,$ttid,$tmcid,$regid,$q,$s,$kg,CAST('$dDate' AS DATETIME),CAST('$delivery' AS DATETIME),'".$uniq."'); if(!mysql_query($sql)) mysql_error($sql);
echo САМ ЗАПРОС!!! вроде все ок! не где нету непонятных ковичек,нету разных o`brainov итд!!!! я согласен что гдето что то не так, ну я вот просто в панике в запросе меня просто местами поля работает ставлю обратно не работает!!!! просто в панике!!!! Ладно впринцепи что тут разводить демогогию!!!!! СПАСИБО за помощь,за ссылки -- в обед еще раз почитаю! ну и за то что не остались в стороне! низкий поклон Добавлено спустя 13 минут 53 секунды: ДРУЖИШЕ Я ЛЮБЛЮ ТЕБЯ ..... твой mysql_error ЭТО ВЕЩЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! он мне ткнул БАРАНУ на ошибку!!!!! $sqlSales = "INSERT INTO sales (segment,tt,uniq,tmc,region,date,delivery,q,s,kg ) VALUES($segid,$ttid,'".$uniq."',$tmcid,$regid,CAST('$dDate' AS DATETIME),CAST('$delivery' AS DATETIME),$q,$s,$kg)"; ошибка была в пробелах после CAST нельзя там пробелы!!!!!!!!!!!!!!!!!!!!!!!!!