首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示某些用户数据的php查询(包括Smarty)

显示某些用户数据的php查询(包括Smarty)
EN

Stack Overflow用户
提问于 2017-06-06 11:45:12
回答 1查看 253关注 0票数 0

我已经成功地创建了一个登录表单,它从数据库中获取用户数据并显示用户数据,但现在我想显示与该用户相关的table_name。

问题是,我必须使用JOIN,因为它需要查询来自2个表的数据。

我的问题

我一直收到一个错误,我不确定我在php文件中的查询是否有错误的语法,以及我的方法是否只是错误的方法。

连接

请记住,我的数据库连接($db)工作得很好,因为用户已经可以使用用户名和密码登录了。

误差 注意:未定义变量:第42行C:\xampp\htdocs\score4score\table.php中的行

数据库:表

代码语言:javascript
复制
table: sc_tables
+------+----------+-------------+
| t_id | user_id  | table_name  |
+------+----------+-------------+
|  1   |     1    | bobs        |
+------+----------+-------------+

table: sc_scores
+------+----------+-------------+-------+
| s_id | user_id  |    t_id     | score |
+------+----------+-------------+-------+
|  1   |     1    |      1      |  50   |
+------+----------+-------------+-------+

代码语言:javascript
复制
<?php
   include("config.php");
   session_start();

   $userId = (isset($_GET["user_id"]) && is_numeric($_GET["user_id"]) && (int)$_GET["user_id"] > 0) ? (int)$_GET["user_id"] : 0;

   $query = "SELECT `a`.`table_name` FROM `sc_tables` AS `a` JOIN `sc_scores` AS `b` ON `a`.`t_id` = `b`.`t_id`";

   $result = mysqli_query($db, $query);

     $rows = array();

     while ($row = mysql_fetch_array($result)) {
     $rows[] = $row;
     }

   $smarty->assign('rows', $rows); 
   include("header.php");
   $smarty->display('records.tpl');

 ?>

TPL (records.tpl)

代码语言:javascript
复制
<div>
 <div>
    The current rankings table: 
    <table>

        {foreach from=$rows item="row"}
        <tr>
            <td>{$row.table_name}</td>
        </tr>
        {/foreach}

    </table>
 </div>
</div>

如果有人能给我指明正确的方向,我将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-06-06 11:57:50

表中没有table_id字段。所以,你应该:

代码语言:javascript
复制
$query = "SELECT `a`.`table_name` FROM `sc_tables` AS `a` JOIN `sc_scores` AS `b` ON `a`.`t_id` = `b`.`t_id`";

错误表示值FALSE作为参数传递给mysql_fetch_array($result)。例如,您的mysqli_query()返回FALSE,而不是mysqli_result对象。

如果问题在上层更改后仍然存在,而没有看到任何错误,那么您也应该使用mysqli_errno()mysqli_error()mysqli_error_list()

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44389172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档