onkeypress сработает для КАЖДОГО нажатия клавиши, даже если вы делаете это в этом окне Итак, вот что происходит:
- Вы набираете 'j'
- showHint () запускается, отправляет 'j' на сервер
- Сценарий вставляет 'j' в вашу пользовательскую таблицу
- Вы вводите 'o', теперь в текстовом поле есть 'jo'
- срабатывает showHint (), отправляет 'jo' на сервер
- Сценарий вставки 'jo' в вашу пользовательскую таблицу
- и т.д ...
Другими словами, вы вообще не показываете подсказку, вы просто слепо вставляете все, что пользователь вводит в вашу базу данных.
Если вы хотите показывать подсказки, тогда вы должны по крайней мере выполнить запрос SELECT и вернуть результаты на свою страницу.
Вы также должны использовать что-то вроде Mootools или jQuery для выполнения вызовов AJAX. Они будут обрабатывать сложные части построения / отправки запроса, не беспокоясь о том, какой браузер использует пользователь.
Также, прочитайте о SQL-инъекции , прежде чем выпускать такой скрипт, как ваш, в дикую природу.
У вас также неправильно сформированный запрос на вставку. Чтобы вставить новую запись, базовый синтаксис:
INSERT INTO sometable (field1, field2, field3, ...) VALUES (value1, value2, value3, ...)
Вы смешали какой-то частичный запрос на обновление, формат которого
UPDATE sometable SET field1=value1, field2=value2, ....
Я не вижу, как ваш запрос мог вставить что-либо в базу данных, как сейчас, так как синтаксис полностью нарушен.