【发布时间】:2020-11-06 16:49:52
【问题描述】:
我正在尝试在网站上展示某个类别中的产品。如果我手动输入我的类别的数量,我就可以展示一个类别的产品。但是,我不知道如何通过访问我的数据库中的数据来显示特定类别的产品,而不是在我的查询之前手动放置类别的 id,而是通过访问与 category_id 相关的类别表的 id我的产品表。
<?php
function muestraProd($DB)
{
$productos=NULL;
$categoria_id = 1;
$sql = 'SELECT * FROM producto WHERE categoria_id = ?';
$stmt = $DB->prepare($sql);
$params = [$categoria_id,];
$stmt->execute($params);
$productos = $stmt->fetchAll();
return $productos;
}
【问题讨论】:
-
语法错误:
[$categoria_id,];,改为[$categoria_id]; -
@Illya,从 PHP 7.2 开始,数组中允许使用尾随逗号,因此这不是语法错误。
-
不要将 PHP MyAdmin(用 PHP 编写的数据库管理 GUI)与 MySQL / MariaDB(实际数据库服务器)混淆
-
这是 PDO 还是特定的驱动程序,例如
mysqli?因为您使用的是问号,所以它似乎是后者。如果是这样,您需要致电$stmt->bind_param('i', $categoria_id)。但是,如果您使用 PDO,则需要切换占位符并执行语法为:name -
@ChrisHaas 我使用 PDO