PHP foreach循环返回额外的

时间:2013-02-16 15:18:41

标签: php mysql

我有一个PHP脚本,我希望将返回sql表的所有值。它确实这样做,但也在每个预期行之后返回一个数字和值

    $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

我需要的所有数据但是为什么我也得到一个数字列表?

请帮忙吗?

4 个答案:

答案 0 :(得分:2)

使用

$row = mysql_fetch_array($result, MYSQL_ASSOC) ;

仅按列名索引

答案 1 :(得分:0)

因为您使用了mysql_fetch_array

如果您只想要列,请使用mysql-fetch-assoc

答案 2 :(得分:0)

  1. 为PDO或mysqli删除mysql_*;

  2. 您想使用mysql_fetch_assoc来获取密钥而不是数字索引。

答案 3 :(得分:0)

根据this,你必须指定你想要的结果类型,否则你得到两者:  MYSQL_ASSOCMYSQL_NUM

示例:

while ($row = mysql_fetch_array($result, MYSQL_NUM)){...}