我试图建立一个包含我想要的信息的表格,现在我一直在努力寻找一个我无法动摇的警告。
警告:mysqli_fetch_array()期望参数1为mysqli_result, /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>
答案 0 :(得分:1)
问题是mysql返回false而不是结果。请执行以下操作以了解有关此问题的更多信息:
$data = mysqli_query($dbc, $query) or die(mysql_error());
希望它有所帮助。
答案 1 :(得分:0)
这是因为mysqli_query
中的$data = mysqli_query($dbc, $query);
调用返回false,表示您的查询有问题。
在调用mysqli_query之后立即尝试http://php.net/manual/en/mysqli.error.php以查看它产生的内容
答案 2 :(得分:0)
在room_id之后删除尾随的逗号:
ORDER BY start_time,room_id,“;
答案 3 :(得分:0)
您的ORDER BY子句中room_id
后面有一个错误的逗号
如前所述,您需要正确的错误处理。 E.g。
// 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;
}
对于生产代码来说有点过于繁琐(不要将查询和整个错误消息打印到任何任意用户,请参阅http://cwe.mitre.org/data/definitions/209.html),但可以帮助您查找错误。