在第二个查询中使用来自第一个mysqli查询的数据并嵌套结果

时间:2013-10-16 15:36:45

标签: php mysql mysqli

我有多个表连接在第二个查询的结果中使用,并将第二个结果嵌套在第一个结果中。

我使用以下代码:

$result = mysqli_query($con,"SELECT info.lotto_id, info.name, info.number_balls, info.number_bonus_balls, info.db_name, country.name_eng AS country, currency.name AS currency, currency.symbol AS symbol, next.draw_date AS next_draw, next.jackpot AS next_jackpot
FROM info
LEFT JOIN country ON info.country_id = country.id_country 
LEFT JOIN currency ON info.currency_id = currency.currency_id
LEFT JOIN next ON info.lotto_id = next.lotto_id
WHERE (info.active='1')
ORDER BY next_jackpot DESC");

while($lotto = mysqli_fetch_array($result))

{

    echo "<table border='0' width='600px' align='center'>";
    echo "<tr>";
    echo "<td>";
    echo "<h1>Results for:</h1>";
    echo "</td>";
    echo "<td align='right'>";
    echo "<p><img src='images/". $lotto['lotto_id'] ."_big.png' alt='". $lotto['name'] ." Results'/></p>";
    echo "</td>";
    echo "</tr>";
    echo "</table>";

$result2 = mysqli_query($con,"SELECT * FROM" .$lotto['db_name'].
"ORDER BY date DESC
Limit 3");

while($draw = mysqli_fetch_array($result2))

  {
    echo "<table class='results' align='center'>";
    echo "<tr>";
    $draw['display_date'] = strtotime($draw['date']);
$lotto['cols'] = $lotto['number_balls'] + $lotto['number_bonus_balls'];
    echo "<td class='date' colspan='".$lotto['cols']."'>".date('D M d, Y', $draw['display_date']). "</td>";

if ($draw[jp_code] < "1")
{
    echo "<td class='winner' align='center'>Jackpot Amount</td>";
}
else
{
    echo "<td class='rollover' align='center'>Rollover Amount</td>";
} 

它给出了以下错误:警告:mysqli_fetch_array()要求参数1为mysqli_result,第59行/home/content/95/11798395/html/results/info_mysqli.php中给出布尔值

这与我的results2查询有关。有人可以建议我做错了吗。

谢谢。

1 个答案:

答案 0 :(得分:1)

更改:

$result2 = mysqli_query($con,"SELECT * FROM" .$lotto['db_name'].
"ORDER BY date DESC
Limit 3");

为:

$result2 = mysqli_query($con, "SELECT * FROM {$lotto['db_name']} ORDER BY date DESC LIMIT 3");
if ($result === false) {
    exit("Error: " . mysqli_error($con));
}