2013-09-18 2 views
0

Как отправить переменную типа «multi» (выглядящую следующим образом: 1,2,3,4) в php через параметр, который проходит через URL-адрес.Как передать переменную многократного ввода в php через параметр

Допустим, некоторые из PHP, который связан с сервером MySQL выглядит что-то вроде этого

`$id_ = $_GET['id'];` 
`$q=mysql_query("SELECT * FROM brain WHERE braincell_id in ('$id_');` 

и переменная, которая входит в нем: ID = 1,2,3,4

Как я могу сделать эту работу?

Что я использую в настоящее время, и что делает работу:

$q=mysql_query("SELECT * FROM brain WHERE braincell_id in ("$_GET['id']");

EDIT. Жаль, что это я глуп, это способ опоздать, чтобы я делал это ... Я пропустил круглые скобки, пожалуйста, удалите это сообщение.

+0

BTW: Приветствуем ваш код в мире SQLInjection ... –

+0

Как я могу избежать SQLInjections? – Joe

ответ

0

Провод $q, ваш ресурс результата. Он ссылается на все данные, возвращаемые из MySQL, и вы можете использовать обычные функции mysql_* (например, mysql_fetch_array()).

В качестве альтернативы позвоните по номеру mysql_fetch_array() (или тому подобное) и передайте результирующий массив в вашу функцию.

0

Единственное решение, которое я знаю, что будет работать из коробки, - это передать каждый элемент массива в отдельный параметр.

Вот мой пример:

get.php:

$arr = $_GET['id']; 

    echo '<ul>'; 
    foreach($arr as $id) 
    { 
     echo "<li>{$id}</li>"; 
    } 
    echo '</ul>'; 

URL:

get.php?id[]=1&id[]=2&id[]=3 

Также вы можете передать ключ для каждого элемента:

get.php?id[0]=1&id[1]=2&id[2]=3 
Смежные вопросы