У меня есть скрипт поиска, который должен искать несколько таблиц для фразы/слова с использованием MySQL и PHP. Столбец name
, который выполняется поиск, является одинаковым для таблиц. Любая помощь будет оценена, и вот мой код ниже.MySQL PHP Query Выбор из нескольких таблиц
<?php
$filter = $_REQUEST['query'];
mysql_connect($hostname,$username, $password) or die ("<script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)</script>");
mysql_select_db($dbname);
$query = 'SELECT * FROM (SELECT `name` FROM `voxmoviesfilestable`) a UNION (SELECT `name` FROM `voxadultfilestable`) b UNION (SELECT `name` FROM `voxmixesfilestable`) c UNION (SELECT `name` FROM `voxconcertsfilestable`) d UNION (SELECT `name` FROM `voxmp3filestable`) e UNION (SELECT `name` FROM `voxfilestable`) WHERE `name` REGEXP \''.$filter.'\' ORDER BY `name`;';
$maxquery = 'SELECT count(*) as cnt FROM `voxmoviesfilestable`, `voxadultfilestable`, `voxmixesfilestable`, `voxconcertsfilestable`, `voxmp3filestable`, `voxfilestable` WHERE `name` REGEXP \''.$filter.'\';';
$result = mysql_query($query) or die ('Error accessing Database');
?>
Не решение, но у вас много синтаксических ошибок в '$ query = 'SELECT * FROM WHERE REGEXP \' '. $ Filter.' \ 'ORDER BY name;';' – asprin
любой шанс, что вы можете поместить все свои данные в ** одну ** таблицу? –
Ваш первый запрос недействителен, нет имени таблицы 'SELECT * FROM WHERE REGEXP ...'. Существует ли какое-либо отношение между этими таблицами во втором запросе? –