如何将更多类别添加到 |从用户中选择 * 等等

Posted

技术标签:

【中文标题】如何将更多类别添加到 |从用户中选择 * 等等【英文标题】:How can I add more categories to the | select * from users, and more 【发布时间】:2020-08-21 19:46:04 【问题描述】:

我目前遇到一个错误,我不知道如何解决它,事实是我从昨天开始一直在尝试,但我没有得到任何解决方案。谁能帮帮我?

文件:topics.php

if (isset($_GET['id']))
    $id = $_GET['id'];
    $categoria = selectOne($table, ['id' => $id]);
    $id = $categoria['id'];
    $name = $categoria['name'];


if (isset($_GET['update-topic']))
    dd($_POST);

文件:db.php

function selectOne($table, $conditions)

    global $conn;
    $sql = "SELECT * FROM users, categorias";
    
        $i = 0;
        foreach ($conditions as $key => $value) 
            if ($i === 0)
                $sql = $sql . " WHERE $key=?";
                
             else 
                $sql = $sql . " AND $key=?"; 
            
            $i++;
        

文件:edit.php

  <div class="input-group">
    <button type="submit" name="update-topic" class="btn" >Update Topic</button>
  </div>

错误:

致命错误:未捕获的错误:调用成员函数 bind_param() on C:\xampp\htdocs\app\database\db.php:19 中的布尔值 堆栈跟踪: #0 C:\xampp\htdocs\app\database\db.php(77): executeQuery('SELECT * FROM u...', Array) #1 C:\xampp\htdocs\app\controllers\topics.php(24): selectOne('categorias', Array) #2 C:\xampp\htdocs\admin\topics\edit.php(1): include('C:\xampp\htdocs...') #3 main 在第 19 行的 C:\xampp\htdocs\app\database\db.php 中抛出

【问题讨论】:

该错误似乎表明您没有成功建立与数据库的连接,您确定用于连接的凭据正确且表存在等吗? 这能回答你的问题吗? Fatal error: Call to a member function bind_param() on boolean 当我删除 'categorias' 并将其保留为: $sql = "SELECT * FROM users";它对我来说很好,但我需要分类数据库 哦等等,你想用SELECT * FROM users, categoria做什么?你确定你不想要SELECT * FROM users JOIN categoria ON someCommonColumn这样的东西吗? 我打赌@MKhalidJunaid 的答案就是你要找的 【参考方案1】:

我猜你的条件列对于数据库来说是不明确的,当你在id 上应用过滤器时,数据库不知道 id 列的确切引用,比如用户表或类别表的 id。

要解决这个问题,您需要使用表名引用id 列,我可以看到您已将$table 传递给selectOne(),但您没有使用它。

$sql = $sql . " WHERE ".$table.".".$key=?";

使用多个相关表我建议使用联接。

【讨论】:

以上是关于如何将更多类别添加到 |从用户中选择 * 等等的主要内容,如果未能解决你的问题,请参考以下文章

如何检查项目是不是存在于多个数组中

如何从 mysql 将子类别加载到 joomla

如何将徽章添加到系统生成的“更多”UITabBarItem

如何将数据从选择的 html 标签存储到数据库并显示它...Laravel

如何将数据分为 3 个不同的类别

从类别下拉列表中选择后,wordpress 更改类别表示