【问题标题】:Code is not displaying database information from query代码未显示查询中的数据库信息
【发布时间】:2014-07-30 04:31:26
【问题描述】:

我正在尝试构建一个员工页面,用于查询保存注册用户的 MySQLi 数据库,并且只显示版主、管理员和超级管理员。这是我的代码。由于某种原因,页面上的表格中没有显示任何内容。我没有致命错误,所以代码“技术上”是正确的,但是逻辑没有输出我想要的。

下面的代码应该查询数据库,以数组的形式获取信息行,将用户名和注册日期输出到表中,并继续循环直到现在剩下更多行。不过,正如我所说,没有任何输出。我不知道我做错了什么。

如果有什么不同,这是 myBB 论坛软件中的自定义页面。我知道页面设置正确,因为所有内容都会显示,除了我试图从数据库中提取的信息。

<?php

global $headerinclude, $header, $theme, $footer, $lang;

if(!$mybb->user['uid'])
{
error_no_permission();
}

$lang->load('modcp');


$mysqli = new mysqli("XXXXXXXXX","XXXXXXXXXXX","XXXXXXXXX","XXXXXXXX");
$query_result = $mysqli->query("SELECT uid,username,usergroup,regdate FROM  mybb_users   ORDER BY regdate ASC");

if ($db->num_rows($query_result) > 0)
     {
     $usertablerows = "";

          while($users = mysqli_fetch_row($query_result))
          {
                if($users['usergroup'] != 3 || $users['usergroup'] != 4 || $users['usergroup'] != 6)
                {
                 $pass = "true";
                }
                else
                {
                       $staffuseruid = $users['uid'];
                       $rawregdate = $users['regdate'];
                       $usergroupvalue = $users['usergroup'];
                       $staffusername = $users['username'];

                       $staffuser = get_user($staffuserid);
                       $usertablerows .= ' <tr>
                      <td class="trow1">' . build_profile_link($staffusername, $staffuserid). '</tf>
                      <td class="trow2">' . my_date($mybb->settings['dateformat'], $rawregdate). '</td>
                      </tr>';
                }
          }
}

$template='<html>
<head>
<title>'.$pages['name'].'</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="1" cellpadding="2" class="tborder">
<tr><td class="thead" colspan="4"><strong>The Staff</strong></td></tr>
<tr>
<td class="tcat"><span class="smalltext"><strong>Username</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>Registered</strong></span></td>

</tr>
{$usertablerows}
</table>
{$footer}
</body>
</html>';
mysqli_close($mysqli);
$template=str_replace("\'", "'", addslashes($template));

add_breadcrumb($pages['name']);

eval("\$page=\"".$template."\";");

output_page($page);

?>

【问题讨论】:

  • 你试过直接在mysql控制台中运行查询吗????
  • 不,我从没想过。我现在就试试。
  • 查询完全符合我在 phpMyAdmin 中完成时所需要的内容

标签: php arrays database mysqli mybb


【解决方案1】:

您可以通过在 mysql 查询中将数据库名称附加到表名来进行检查。

【讨论】:

  • 那仍然没有解决问题。在 phpMyAdmin 中执行查询时,它会完全满足我的需要。但是,无论出于何种原因,我都无法将其从数据库中获取到显示的页面。
  • eval("\$page= \"$template\";");尝试这个。我不知道。但是重新检查 eval 函数
猜你喜欢
  • 2021-11-08
  • 2016-01-12
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
相关资源
最近更新 更多