2011-06-04 122 views
2

有一個適當的方式做到這一點:從查詢創建數組?

$i = 0; 

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

回答

3

您可以

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

更換

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

和擺脫$i變量。

當您以這種方式(使用大括號,但沒有索引)爲數組賦值時,您會在數組末尾自動創建一個新項目併爲其分配值。

+0

工程就像一個魅力!我真的不知道它是這樣工作......尷尬! – obinoob 2011-06-04 15:46:32

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

更改$row['instructionValue'];只是$row你會得到所有記錄的$array

在我使用mysql_fetch_assoc的同時。

注意,你可以通過做只是$queryArray[]=$row;

3

沒有內置的功能與MySQL要做到這一點,但如果你移動到使用PDO抽象層(這是微不足道的,我會擺脫$i的強烈建議你這樣做 - 這很棒)。

例如:

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

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

$result = $stmt->fetchAll(); 

$result現在是包含在查詢中找到的所有行的陣列。

+0

同意。一旦你掌握了PDO,與其合作非常愉快。 – damianb 2011-06-04 15:47:34

+0

這似乎相當不錯,我會記住,謝謝。 – obinoob 2011-06-04 15:58:01