2015-01-07 4 views
0

Я хочу знать, если это ошибка ввода sql или что? и что там db? mssql?- это ошибка ввода sql?

Ошибка базы данных Происходило

Error Number: 1054 
Unknown column '20and' in 'where clause' 

Для запроса: -

select * from static_info where main_id=60%20and 
and language_code='az' order by id desc 

На участке: -

Filename: /home/test/public_html/controllers/welcome.php 
Line Number: 115 
+0

Ссылку вы предоставили в комментариях ниже, и сообщение об ошибке, что приходит является признаком плохо написанного кода, и часто в PHP-приложениях плохо написанный код базы данных уязвим для инъекционных атак. Но нельзя сказать, основываясь исключительно на том, что здесь представлено. Прочитайте PDO (как предложено другими ниже) и отредактируйте вопрос, чтобы включить соответствующие разделы welcome.php. В этот момент люди могут лучше помочь вам. – acrosman

+0

Чтобы ответить на ваш вопрос, да, это похоже на SQL-инъекцию. Ответ на БД вы должны знать. – Jaques

+0

Что вы вводите? – Gumbo

ответ

0

Вы должны использовать одиночные кавычки для символьных столбцов

select * from static_info where main_id='60%20and' and language_code='az' 
order by id desc 
+0

, и это означает, что нет предупреждения об инъекции sql? –

+0

скорее, я хочу знать, если эта SQL-инъекция? –

+0

Это не предупреждение SQL Injection. Это ошибка о недопустимых именах столбцов. Однако вы можете использовать хранимую процедуру с параметрами и выполнить ее с помощью sp_executesql, чтобы избежать SQL-инъекции – Madhivanan

0

Да это можно сказать, как SQL инъекция, так как пользователь может получить доступ к базе данных из UTL, пользователь может легко выполнять запросы в базе данных и вреде для вашей базы данных, если вы уведомление [link] http://nidavh.org/news_index/1, это будет выполняться как «select * from static_info where main_id = 1 ...», и я могу видеть staic-страницы по id. Я надеюсь, что вы получили мою точку

Вы должны использовать параметризованный запрос для предотвращения SQL инъекций

Select * from TableName where Columnname1='Your Paremeters' and Columnname2='Your Parameters' 
+0

http://nidavh.org/news_index/60%20and см. Здесь, как сделать SQL-инъекцию? –

+0

и, пожалуйста, помогите? –

+0

См. Обновленный ответ. –

0

Они используют CodeIgniter для рамок, не

ошибка, при которой вы вывесили просто говорит вам, что есть не 20and поле существует,

это просто 404 Not Found как ошибка, и символ, который вы пытаетесь использовать будет побег,

Это единственный способ предотвратить SQL-инъекцию, есть много также.

И если вы пытаетесь инъекции SQL, то вы получите следующее сообщение об ошибке:

An Error Was Encountered 

The URI you submitted has disallowed characters. 
Смежные вопросы