modified this section in the admin/stats_keywords.php file to have addslashes around the search_text.
also deleting search_text one by one in the while loop
if ($_GET['update'] == BUTTON_UPDATE_WORD_LIST) {
$sql_q = tep_db_query("SELECT DISTINCT search_text, COUNT(*) AS ct FROM search_queries GROUP BY search_text");

while ($sql_q_result = tep_db_fetch_array($sql_q)) {
$update_q = tep_db_query("select search_text, search_count from search_queries_sorted where search_text = '" . addslashes($sql_q_result['search_text']) . "'");
$update_q_result = tep_db_fetch_array($update_q);
$count = $sql_q_result['ct'] + $update_q_result['search_count'];

if ($update_q_result['search_count'] != '') {
tep_db_query("update search_queries_sorted set search_count = '" . $count . "' where search_text = '" . addslashes($sql_q_result['search_text']) . "'");
} else {
tep_db_query("insert into search_queries_sorted (search_text, search_count) values ('" .
addslashes($sql_q_result['search_text']) . "'," . $count . ")");
} // search_count

tep_db_query("delete from search_queries where search_text = '" . addslashes($sql_q_result['search_text']) ."'");
} // while
} // updatedb

full package atta

More...