SQL: получить все записи столбцов с одинаковым идентификатором - PullRequest
0 голосов
/ 22 марта 2012

Я совершенно новичок в sql и у меня проблемы с написанием этого
у меня есть такой стол

id   name
1   A
2   B
3   C
1   D
1   E
1   F
...

Я хочу запрос, который вернет мне имена идентификаторов, которые я ему даю ... скажем, если я прошу 1, я хочу, чтобы он возвратил A D E F я пробовал это в PHP:

$result3 = mysql_query("SELECT name FROM table WHERE id='1'", $link);

    $pfilearray=array();
    $pfilearray=mysql_fetch_assoc($result3);

    print_r($pfilearray);

но это дает мне только имя, найденное с идентификатором 1, что мне не хватает?

Ответы [ 5 ]

4 голосов
/ 22 марта 2012

Вы должны выполнить итерацию всего набора результатов, используя while () и mysql_fetch_assoc ().пример:

while(($rs=mysql_fetch_assoc($result3))!=null)
{
    $pfilearray[]=$rs['name'];
}
print_r($pfilearray);
1 голос
/ 22 марта 2012

Переберите ваш набор результатов, используя mysql_fetch_array ().Для получения дополнительной помощи нажмите здесь

1 голос
/ 22 марта 2012

Вы можете использовать этот код и проверить, можете ли вы набрать

while($row = mysql_fetch_array($result3))
{
  echo $row['name'];
  echo "<br>";
}
1 голос
/ 22 марта 2012

mysql_fetch_assoc возвращает одну строку из вашего набора результатов, поэтому он будет возвращать только первое значение.Вам нужно перебрать ваш набор результатов ($ result3 в вашем коде) и получить все строки.

Кстати, семейство функций mysql_ довольно старое, и большинство людей рекомендуют использовать семейство mysqli_, или даже лучше, PDO

EDIT: очень простой пример PDO:

$ddh = new PDO( /* connection details */ );
$sth = $dbh->prepare('SELECT name FROM table WHERE id= ? ');
$sth->execute(array(1));
$names = $sth->fetchAll();
0 голосов
/ 22 марта 2012

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

$result3 = mysql_query("SELECT name FROM table WHERE id='1'", $link);
while($row=mysql_fetch_array($result3))
{
  echo $row['name'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...