从查询创建数组?

时间:2011-06-04 15:38:58

标签: php mysql

有没有正确的方法:

$i = 0;

while($row = mysql_fetch_array($queryResult)){
    $queryArray[$i] = $row['instructionValue'];
    $i++;
}

3 个答案:

答案 0 :(得分:3)

您可以替换

$queryArray[$i] = $row['instructionValue'];

$queryArray[] = $row['instructionValue'];

并删除$i变量。

当您以这种方式为数组赋值(使用大括号,但没有索引)时,您会自动在数组末尾创建一个新项并将值赋给它。

答案 1 :(得分:3)

使用mySQL没有内置的功能,但如果你转向使用PDO抽象层(我强烈建议你这样做 - 它很棒),这是微不足道的。

例如:

$dbh = new PDO($dsn, $user, $pass);

$stmt = $dbh->prepare('SELECT name FROM user');
$stmt->execute();

$result = $stmt->fetchAll();

$result现在是一个包含查询中找到的所有行的数组。

答案 2 :(得分:0)

while($row = mysql_fetch_assoc($queryResult)){
    $queryArray[$i] = $row;
    $i++;
}

$row['instructionValue'];更改为$row您将获得包含所有记录的$array

在我使用mysql_fetch_assoc的时候。

请注意,只需执行$i

即可摆脱$queryArray[]=$row;