Вы можете абстрагировать свой запрос в функции, которая принимает текст поиска в качестве параметра. Что-то вроде:
function searchQuery($text) {
$text = mysql_real_escape_string($text);
$result = mysql_query("SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME FROM {$table} WHERE upper ARTICLE_NAME LIKE '%" . $text . "%'");
if($result === false) {
return mysql_error();
}
$rows = array();
while($row = mysql_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
}
Обратите внимание, что вы должны избегать ввода данных пользователем, чтобы предотвратить атаки SQL-инъекций (здесь я использовал mysql_real_escape_string () для этого). Эта функция также возвращает код ошибки в случае сбоя запроса, поэтому вы должны проверить результат, чтобы увидеть, массив это или нет:
$result = searchQuery($_GET['query']);
if(!is_array($result) ) {
echo 'An error has occurred:' . $result;
} else {
//iterate over rows
}
Оберните ваши логические структуры (IF / ELSE) фигурными скобками {. Это лучше для удобочитаемости и помогает избежать ненужных ошибок.