Посетитель
Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010
Откуда: Тверь
Помог: 4 раз(а)
|
Всем доброго времени суток!
Пишу поиск по бд, принцип следующий: сначала собираю нужную информацию из нескольких таблиц, а потом по получившейся таблице делаю поиск, хотел пойти через создание временной таблицы, но mysql не разрешает делать к ней более одного запроса одновременно, поэтому приходится работать с динамически создаваемой и удаляемой таблицей. написал следующий запрос:
PHP:
скопировать код в буфер обмена
$charR = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'V', 'X', 'Y', 'Z'); $nameTMd = $charR[rand(0 , 24 )]; $nameTMd .=rand(1 , 9999999 ); $nameTMd .= $charR[rand(0 , 24 )]; CREATE TABLE " .$nameTMd ." SELECT b.ID, b.part_name, b.part_original_number, b.part_vendor_number, c.vendor_name, d.type_name, g.model_name, f.name_mark, e.i_name, e.i_width, e.i_height, c.vendor_link, b.price_1 FROM t_model_part AS a ON b.ID = a.ID_part LEFT JOIN t_vendor_firms AS c ON c.ID = b.ID_vendor_firms LEFT JOIN t_type_parts AS d ON d.ID = b.ID_type_parts ON e.ID = b.part_foto ON a.ID_model = g.ID ON g.ID_mark = f.ID; SELECT * FROM " .$nameTMd ." WHERE part_name like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE part_original_number like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE part_vendor_number like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE vendor_name like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE type_name like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE model_name like '%" .$_POST['search'] ."%' UNION SELECT * FROM " .$nameTMd ." WHERE name_mark like '%" .$_POST['search'] ."%'"; $result_Serch = $objParts->ConnectDb($sqlSearch); if(!$result_Serch) { echo "Поисковый запрос не удался... Код ошибки: " .mysql_errno() ." содержание: " .mysql_error(); exit(); }
если его напрямую выполнять в базе, то все хорошо работает, если же действовать из скрипта, то ничего не возвращается, и таблица не создается, в чем я ошибся? функции ошибок также не возвращают какого-либо результата...(Отредактировано автором: 18 Декабря, 2010 - 01:31:11)
|