2016-05-22 5 views
-1

Я хочу получить массив результатов из MYSQL, где id - массив. я использовал этот один:fetch массив из массива ID в MYSQL из PHP

$q="SELECT * FROM stocksdb WHERE Id = '" . $_POST['prod'] . "'"; 

где «прод» представляет собой массив, но возвращение всего лишь одна строка, где прод содержит больше. Итак, есть ли какой-либо метод для получения массива результатов из массива Id.

Мне нужно, чтобы он не был открыт для инъекций MySql, так как для него открыт ответ.

+0

Я думаю, вы могли бы искать 'синтаксис в' SQL в. Кроме того, просмотрите подготовленные заявления, вы открыты для SQL-инъекций, так как ваш код в настоящий момент. –

+0

как вы получаете результаты сейчас? – AnatPort

+0

Возможный дубликат [PHP/MySQL с использованием массива в предложении WHERE] (http://stackoverflow.com/questions/907806/php-mysql-using-an-array-in-where-clause) – lolbas

ответ

0

вы искали бы предложение IN, чтобы получить несколько значений, соответствующих условию.

http://www.tutorialspoint.com/mysql/mysql-in-clause.htm

+0

Предложение IN открыто для SQL-инъекций, как сказал Джон Стирлинг и lolbas в любом случае, спасибо за ответ. –

+0

@ KarthikChowdary Обработка инъекций SQL применяется к тому, как вы вставляете внешние переменные в SQL-запрос. Правильно обработанный запрос защищен на 99,9%. – lolbas

+0

Хорошо, как вы сказали @lolbas, использование предложения IN безопасно от SQL-инъекций? –

Смежные вопросы