使用 mysql_fetch_assoc 获取数组

Fetch array with mysql_fetch_assoc

$query = mysql_query("SELECT Name from lottery");
// Make All Lotteries Into An Array
$queryarray = mysql_fetch_array($query);
// For Each Lottery, Store the Name of It in $lottery
foreach ($queryarray as $lottery) {
    // Select IDs of Tickets in Current Selected Lottery ($lottery)
    $ticketquery = mysql_query("SELECT id FROM tickets WHERE lottery='$lottery'");
    // Create an Array from the IDS
    $ticketarray = mysql_fetch_assoc($ticketquery);
    // Select A Random ID, This Is Our Winner Ticket
    $winner = $ticketarray[array_rand($ticketarray)];
}

但是,当我 运行 执行此操作时,出现此错误:


"Warning: array_rand() [function.array-rand]: First argument has to be an array in public_html/php/lotterypick.php on line 25"
我曾尝试用 mysql_fetch_array 替换 mysql_fetch_assoc ,但这也没有太大帮助。刚刚给了我同样的错误。有任何想法吗?谢谢。

第 25 行:$winner = $ticketarray[array_rand($ticketarray)];

将代码写为:

while($lottery = mysql_fetch_array($query)){...}

会解决问题。