php - 选择特定类别和品牌的产品

标签 php mysql

我有一个查询,我想选择在 url 上选择了类别和品牌的所有产品:

http://localhost/www.fermaster.pt/listaProdutos/category1/brand-1

"SELECT prod.*
 FROM produtos as prod
 INNER JOIN categorias as cat
    ON cat.nomeCategoria LIKE '".$categoria."'
 INNER JOIN marcas as m
    ON m.nomeCategoria LIKE '".$marca."'
 WHERE prod.categoriaProduto = cat.ID
    AND prod.marcaProduto = m.ID"

它给了我错误

Warning: Illegal string offset 'nomeProduto' in C:\wamp\www\www.fermaster.pt\pages\listaProdutos.php on line 32

完整代码为:

<?php
$db = new Database();    
$db->connect();


if(isset($marca))
{
    echo 'Produto - Categoria - Marca';
    $db->sql("SELECT prod.*
              FROM produtos as prod
              INNER JOIN categorias as cat
                ON cat.nomeCategoria LIKE '".$categoria."'
              INNER JOIN marcas as m
                ON m.nomeCategoria LIKE '".$marca."'
              WHERE prod.categoriaProduto = cat.ID
                    AND prod.marcaProduto = m.ID");
}
else
{
    echo 'Produto - Categoria';
    $db->sql("SELECT prod.*
              FROM produtos as prod
              INNER JOIN categorias as cat
                ON cat.nomeCategoria LIKE '".$categoria."'
              WHERE prod.categoriaProduto = cat.ID");
}

$res = $db->getResult();

foreach($res as $output)
{
    echo '<br />'.$output['nomeProduto'];
}

?>

最佳答案

我认为由于 / 元素,您必须首先转义字符串。 MySQL 的 QUOTE() 函数是您的 friend 。检查MySQL Manual关于该主题。

关于php - 选择特定类别和品牌的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986512/

相关文章:

mysql - GROUP BY 未返回正确结果

mysql - C# Entity Framework : There is already an open DataReader associated with this Connection which must be closed first

java - JTable 不从 MySQL 填充数据

php - 编辑数据库的 HTTP 请求

php - 允许其他人编辑内容时,在地址栏中显示帖子 ID # 是否存在安全风险?

javascript - 单击时禁用按钮但仍在处理表单

php - 如何使用 mysql 数据库中的 symfony 3.4 显示大段落的几行

PHP mysql 数据库两个同时请求同一个表

javascript - 关于谷歌地图的关键API

php - 缓存——磁盘还是数据库?