Не используйте литералы. Не помещайте данные в текст запроса, поместите их вне запроса как «параметры».
Он имеет ряд преимуществ, таких как более надежный синтаксический анализ, большая проверка типов, большая безопасность и часто более высокая скорость (вы можете подготовить запрос один раз, а затем выполнить его много раз, только изменяя значение параметров).
Способ кодирования параметров в запросах SQL зависит от библиотеки, которую вы используете в своем языке программирования для подключения к Firebird. См. http://bobby-tables.com/ для некоторых примеров. Ниже приведены три часто используемых соглашения:
SELECT .... WHERE t.name_qult = ?
- изначально поддерживается Firebird, доступ к параметрам на основе индекса SELECT .... WHERE t.name_qult = :NAME_PARAM
- стиль BDE / Delphi SELECT .... WHERE t.name_qult = @NAME_PARAM
- стиль MS SQL / .Net Я не знаю, какие разновидности поддерживаются в используемых вами языках и программах. IB Expert использует библиотеки Delphi, поэтому использует параметр # 2. Программы, написанные на Java, используют параметр # 1.
Кроме того, в настройках вашего соединения убедитесь, что для "charset connection" установлено значение UTF-8 или для вьетнамской кодовой страницы, которая может передавать все эти конкретные символы.
Кодировка UNICODE_FSS устарела. Если возможно, было бы лучше перейти на кодировку UTF-8, где это возможно.
Необходимо будет смотреть на журнал ошибок Apache для наблюдения, какова "внутренняя ошибка сервера". Четыре наиболее вероятных случая, по моему опыту, был бы:
программа CGI находится в каталоге, которому не включили выполнение CGI. Решение: Добавьте ExecCGI
опция к тому каталогу или через httpd.conf или через .htaccess файл.
Apache только настроен для выполнения CGIs от специализированного cgi-bin
каталог. Решение: Переместите программу CGI туда или добавьте AddHandler cgi-script .cgi
оператор к httpd.conf.
программа CGI не установлена как исполняемый файл. Решение (принимающий *операционная система отклонять-типа): chmod +x my_prog.cgi
программа CGI выходит, не отправляя заголовки. Решение: Запустите программу из командной строки и проверьте, что a) это на самом деле работает вместо того, чтобы умереть с ошибкой времени компиляции и b) это генерирует корректный вывод, который должен включать, в очень минимальном, Content-Type
заголовок и пустая строка после последнего из ее заголовков.
Я предполагаю, что Вы смотрели на mod_perl?
Вы попробовали следующий учебное руководство ?
РЕДАКТИРОВАНИЕ: Относительно Вашей регистрации - возможно, Вы могли включать образец кода в Вашем .cgi
файл. Возможно, даже первые несколько строк?