Php 我不能摇晃

Php 我不能摇晃,php,mysqli,html-table,Php,Mysqli,Html Table,我试着用我想要的信息建立一个表格,现在我一直在挣扎着警告我不能动摇 警告:mysqli_fetch_数组期望参数1为mysqli_结果, 布尔值在/customers/8/2/e/eldberg.com/httpd.www/tabell15.php中给出 第30行Tid:Lokal: 这是从日历中读取预订并显示今天的预订: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/

我试着用我想要的信息建立一个表格,现在我一直在挣扎着警告我不能动摇

警告:mysqli_fetch_数组期望参数1为mysqli_结果, 布尔值在/customers/8/2/e/eldberg.com/httpd.www/tabell15.php中给出 第30行Tid:Lokal:

这是从日历中读取预订并显示今天的预订:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Kavalias conferens system</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
  <h1>Conference bookings</h1>
  <h2 >todays Conferenses<h2>
  <hr />

<?php
  // Connect to the database 
  $dbc = mysqli_connect('localhost', 'User', 'Pass', 'DB');

   // Retrieve the score data from MySQL
    $query = "SELECT mrbs_entry.room_id, mrbs_entry.start_time, mrbs_entry.name, mrbs_room.room_name
   FROM mrbs_entry
   left outer JOIN mrbs_room on mrbs_entry.room_id = mrbs_room.room_name
   WHERE  mrbs_entry.room_id='Lokal' 
  ORDER BY start_time, room_id, ";

  $data = mysqli_query($dbc, $query);


  // Loop through the array of score data, formatting it as HTML 
  echo '<table>';
  while ($row = mysqli_fetch_array($data)); { 
    // Display the score data
    echo '<tr><td class="scoreinfo">';
    echo '<span class="Guest">' . $row['name'] . '</span></>';
    echo '<strong>Time:</strong> ' . $row['start_time'] . '<br />';
    echo '<strong>Location:</strong> ' . $row['Lokal'] . '</td></tr>';
  }
  echo '</table>';

  mysqli_close($dbc);
?>

</body> 
</html>
这是因为您的mysqli\u查询调用$data=mysqli\u query$dbc,$query;返回false,表示您的查询有问题


在调用mysqli_query后立即尝试查看它产生了什么问题是mysql返回了一个错误的istead结果。执行以下操作以了解有关该问题的更多信息:

$data = mysqli_query($dbc, $query) or die(mysql_error());

希望有帮助。

去掉房间id后面的逗号:

按开始时间、房间id订购


在ORDER BY子句中,room_id后面有一个错误的逗号。 如前所述,您需要正确的错误处理。例如

// Connect to the database 
$dbc = mysqli_connect('localhost', 'User', 'Pass', 'DB');
if ( !$dbc ) {
    die('Connect Error: ' . mysqli_connect_error());
}

// Retrieve the score data from MySQL
$query = "
    SELECT
        mrbs_entry.room_id, mrbs_entry.start_time, mrbs_entry.name, 
        mrbs_room.room_name
    FROM
        mrbs_entry
    LEFT OUTER JOIN
        mrbs_room
    ON
        mrbs_entry.room_id = mrbs_room.room_name
    WHERE 
        mrbs_entry.room_id='Lokal' 
    ORDER BY
        start_time, room_id
";

$data = mysqli_query($dbc, $query);
if ( !$data ) {
    echo '<pre>', htmlspecialchars($query), '</pre>';
    echo '<pre>', htmlspecialchars(mysqli_error($dbc)), '</pre>';
    die;
}

这对于生产代码来说有点太过健谈。不要将查询和整个错误消息打印给任意用户,请参阅,但可以帮助您查找错误。

mysqli\u query$dbc,$query;返回false,因此查询无法执行$data的输出,mysql_错误$dbc?在$query的末尾,您还有一个额外的deletethis@Araw:不要混合使用mysqli\u查询和mysql\u错误。@VolkerK:很抱歉,只是为了学习,这样做有什么问题?那就是mysqli_错误,与mysql_错误不同,$link/$dbc参数不是可选的。感谢大家,这并不容易,但我们都必须从某个地方开始。