使用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)];
}

但是,当我运行它时,我收到此错误:


"警告:array_rand(( [function.array-rand]:第一个参数必须是 public_html/php/lotterypick.php 中的数组,位于第 25 行
我试图用mysql_fetch_array替换mysql_fetch_assoc,但这也没有多大帮助。刚刚给了我同样的错误。有什么想法吗?谢谢。

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

将代码编写为:

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

会解决问题。