使用 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)){...}
会解决问题。
$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)){...}
会解决问题。