【问题标题】:Fetch array with mysql_fetch_assoc使用 mysql_fetch_assoc 获取数组
【发布时间】:2015-03-28 19:25:49
【问题描述】:
$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)];

【问题讨论】:

  • 你真的应该了解 SQL 连接...
  • var_dump($queryarray);die;放在循环之前,看看它包含什么......它不包含你认为它包含的东西。
  • 哇哦。是的,这绝对不是我想的那样。我将如何解决这个问题? @SverriM.Olsen
  • 但我不明白如何从表格中组合行来解决这个问题?还是会? @eggyal
  • @TonyStark:或者你可以让 MySQL 从每个彩票中选择一张随机票,作为一个查询。

标签: php mysql arrays foreach


【解决方案1】:

将代码编写为:

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

会解决问题。

【讨论】:

    猜你喜欢
    • 2020-06-02
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    相关资源
    最近更新 更多