Таким образом, у меня есть следующее как часть моего запроса
SELECT * FROM $table WHERE columname LIKE '%$searchterm%'
Я пытался удалить начальные и / или конечные символы подстановки, означающие
SELECT * FROM $table WHERE columname LIKE '$searchterm%'
И
SELECT * FROM $table WHERE columname LIKE '%$searchterm'
И
SELECT * FROM $table WHERE columname LIKE '%$searchterm%' OR columname LIKE '$searchterm'
, а также безуспешно пытался добавить в запрос подписку
OR columname = '$searchterm'
Так, когда мой поисковый термин "myval" и если в столбце есть вся строка "myval", я бы хотел, чтобы это было выделено. Но ВСЕ мои запросы выше возвращают false / ничего не возвращают, где myval - это searchterm и значение столбца как полное.
Я не могу использовать MATCH
, потому что это не полнотекстовый индекс.
EDIT:
PHP код:
$sterm = NULL;
$table = 'mytable';
if(isset($_GET['s'])) { $sterm = explode(" ", mysql_real_escape_string($_GET['s'])); }
if(isset($_POST['s'])) { $sterm = explode(" ", mysql_real_escape_string($_POST['s'])); }
if(!empty($sterm)){
$getdata = "SELECT * FROM $table WHERE termsi != 'Special' ";
foreach ($sterm as $value){
$getdata .= "AND netid_all LIKE '%$value%' OR netid_all = '$value' ";
} //End foreach
$getdata .= "LIMIT 10";
$result = mysql_query($getdata) or die(mysql_error());
$row = mysql_fetch_array($result, MYSQL_ASSOC);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo <<<PRINTALL
{$row[0]}, {$row[1]}, {$row[2]}, {$row[3]}, {$row[4]}, {$row[5]}, {$row[6]}, {$row[7]}, ' <br />'
PRINTALL;
} //End While
} //End If search exists
Хорошо. Итак, как вы, ребята, предложили, я попробовал консоль PHPMyAdmin sql, и она работает нормально, так что это должно быть с помощью PHP !? так что вот оно.