0

我的查询突然停止工作。我知道它是荷兰语,但你能发现任何错误吗?没有 MySQL 错误。他只是不会将 $content 写入屏幕。我尝试了很多东西。他只是停止工作

<?php
$activiteiten= "SELECT 
                activiteiten.ActiviteitID,
                activiteiten.Naam,
                activiteiten.plaatsen,
                agenda.TijdBegin,
                agenda.TijdEind,
                agenda.AgendaID,
                reserveren.ReserveringTijd


                FROM 
                activiteiten,
                agenda,
                reserveren

                WHERE

                agenda.ActiviteitID = activiteiten.ActiviteitID
                AND
                agenda.AgendaID = reserveren.AgendaID
                ";




$result = mysql_query($activiteiten) or die(mysql_error());

    $content .= '<tr>';


    $content .= '<td>'.$record['Naam'].'</td>';
    $content .= '<td>'.$record['ReserveringTijd'].'</td>';
    $content .='<td>Beschikbare plaatsen:'.$record['plaatsen'].'</td>';

    $agendaID= $record['AgendaID'];
    $agendaData = agendaData($agendaID);


    $content.= '<td>aantal reserveringen:'.$agendaData["reserveringen"].'</td>';
    $content.= '</tr>';

}
4

7 回答 7

2

你做了 a mysql_query,但你从不填充$record变量。你希望它有怎样的内容?

尝试添加:

$record = mysql_fetch_array( $result );

之后mysql_query

您需要了解这是两件不同的事情:

  1. mysql_query 将在服务器上执行查询
  2. mysql_fetch_array (和朋友)将以所需的格式获得结果。

如果只执行 1,则执行查询。这很好用,但是如果您对结果感兴趣,则需要获取它们。有时您不需要(例如,当查询不是选择时)。

于 2012-04-13T07:42:41.583 回答
2

没有 MySQL 错误。他只是不会将 $content 写入屏幕。

添加什么:

echo $content;

如果您不打印它,那么您将看不到任何东西:)

除此之外,你不是在混合$result$record吗?

于 2012-04-13T07:42:52.540 回答
1

您的代码在 mysql_query 之后缺少 mysql_fetch_assoc 调用,它应该是这样的:

$result = mysql_query($activiteiten) or die(mysql_error());

while(false != ($record = mysql_fetch_assoc($result))
{
    $content .= '<tr>';


    $content .= '<td>'.$record['Naam'].'</td>';
    $content .= '<td>'.$record['ReserveringTijd'].'</td>';
    $content .='<td>Beschikbare plaatsen:'.$record['plaatsen'].'</td>';

    $agendaID= $record['AgendaID'];
    $agendaData = agendaData($agendaID);


    $content.= '<td>aantal reserveringen:'.$agendaData["reserveringen"].'</td>';
    $content.= '</tr>';

}
于 2012-04-13T07:43:10.297 回答
1

停止工作并且没有打印出任何错误会让人怀疑数据库中的数据已经以某种方式发生了变化,并且查询根本没有得到任何行。

在 phpMyAdmin 等数据库环境中执行查询并检查是否返回任何行。

否则检查 mysql-php 相关错误的其他答案。

于 2012-04-13T07:43:25.560 回答
1
$result = mysql_query($activiteiten) or die(mysql_error());

while ($record = mysql_fetch_array($result, MYSQL_ASSOC))
{
    // Your $record now contains the data you want
}
于 2012-04-13T11:22:01.187 回答
0

您将查询结果存储在 $result 中,但您无需继续使用 $result 执行任何操作 - 您需要执行以下操作:

$record = mysql_fetch_assoc($qry_result);

从 $result 中检索记录结果。如果您期望多个结果,则需要使用 while 循环来遍历所有结果

于 2012-04-13T07:44:56.027 回答
0

改变:

 $content .= '<tr>';

至:

 $content = '<tr>';

并记住页面上的echo$content

确保您有错误报告,以便您立即查看问题是否在于未初始化的 PHP 变量或其他地方。

于 2012-04-13T11:06:57.247 回答