Как обрабатывать элемент массива в MySQL с помощью PHP?

Я хочу получить элементы массива и поместить его в MySQL-запрос с помощью PHP следующим образом:

$ArrayOne = {3, 5, 8, 2}; $sql = SELECT * from myTable WHERE id1='3' and id2='5' and id3='8' and id4='2'; 

Я делаю это так, но это провалилось:

 for ($i=0; $i<count($ArrayOne); $i++) { $element.$i = $ArrayOne[$i]; } $sql = ("SELECT * from myTable WHERE id1=". $element.$i ." and id2=". $element.$i ." and id3=". $element.$i ." and id4=". $element.$i ."); 

Я думаю, что $element.$i имеет такое же значение, но я не знаю, как получить различное значение элемента Array. И если я это сделаю, это тоже неправильно.

 for ($i=0; $i<count($ArrayOne); $i++) { $element.$i = $ArrayOne[$i]; $sql = ("SELECT * from myTable WHERE id1=". $element.$i ." and id2=". $element.$i ." and id3=". $element.$i ." and id4=". $element.$i ."); } 

Может ли любой орган дать решение?

Solutions Collecting From Web of "Как обрабатывать элемент массива в MySQL с помощью PHP?"

В вашем коде есть несколько ошибок

Первое:

 $ArrayOne = {3, 5, 8, 2}; 

Должно быть:

 $ArrayOne = array(3, 5, 8, 2); 

Вторая ошибка, ваша переменная $sql не заключена между кавычками, должна быть $sql="your query";

если ваш массив имеет длину исправления, вам не нужно использовать цикл:

 $ArrayOne = array(3, 5, 8, 2); $sql = "SELECT * from myTable WHERE id1='$ArrayOne[0]' and id2='$ArrayOne[1]' and id3='$ArrayOne[2]' and id4='$ArrayOne[3]'"; 

Для массива переменной длины вы можете использовать ответ @ Nightmare

Как примечание стороны:

Читайте о внедрении SQL

Вы должны изучить PDO, если вы начинаете изучать php, делайте это правильно

Руководство

Попробуй это:

 $count = count($ArrayOne); for($i=0; $i<$count; $i++){ $where_arr[$i] = 'id'.$i.'='.$ArrayOne[$i]; } $sql = "select * from myTable where ".implode(" and ",$where_arr);