php
  • mysql
  • 2013-02-16 2 views 0 likes 
    0

    У меня есть сценарий php ниже, что я надеюсь вернуть все значения таблицы sql. Он делает это сделать, но также возвращает число и значение после каждого из ожидаемых линийPHP foreach loop возвращает дополнительные

    $condition = "usernames = '$user' AND password = '$pass' "; 
        $result = mysql_query("SELECT * FROM userbase WHERE $condition") ; 
    
        $row = mysql_fetch_array($result) ; 
    
        foreach ($row as $k => $v) { 
         echo "$k/$v <br>"; 
         }; 
    
        ?> 
    

    Результаты выглядят как этот

     0/Mick Lathrope 
         name/Mick Lathrope 
         1/op 
         jobtitle/op 
         2/07998 783 989 
         phone/07998 783 989 
         3/mwl707 
         usernames/mwl707 
         4/testpass 
         password/testpass 
    

    Все данные есть, что мне нужно Но почему я также получаю список номеров?

    Любая помощь пожалуйста?

    +0

    Помимо перехода на MySQLi или PDO, рассмотрите второй аргумент для MySQL_fetch_array() и, в частности, значение по умолчанию –

    ответ

    2

    Использование

    $row = mysql_fetch_array($result, MYSQL_ASSOC) ; 
    

    для индексирования только по имени столбца

    0

    т.к. вы использовали mysql_fetch_array.

    Если вы хотите только те столбцы, а затем использовать mysql-fetch-assoc

    0
    1. падение mysql_* для PDO или MySQLi;

    2. Вы хотите использовать mysql_fetch_assoc, чтобы получить только ключи и номера индексов.

    0

    Согласно this вы должны указать тип результата вы хотите, в противном случае вы получаете как: MYSQL_ASSOC или MYSQL_NUM,

    Пример:

    while ($row = mysql_fetch_array($result, MYSQL_NUM)){...} 
    
    Смежные вопросы