如何将更多类别添加到 |从用户中选择 * 等等
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=?";
使用多个相关表我建议使用联接。
【讨论】:
以上是关于如何将更多类别添加到 |从用户中选择 * 等等的主要内容,如果未能解决你的问题,请参考以下文章