PHP中与phpmyadmin连接的参数化查询

德西里·罗德里格斯(DesiréeRodriguez)

我正在尝试在网站上展示某个类别中的产品。如果我手动输入类别编号,就可以显示一种类别的产品。但是,我不知道如何通过以下方式显示特定类别的产品:访问数据库中的数据,而无需在查询之前手动放置类别的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;
}
拉斯克拉特

如上面的注释所述,您可以调整函数以将类别作为函数的参数来接受,然后可以在脚本的任何位置调用和使用它:

<?php
function muestraProd($id, $DB)
{
    if(empty($id))
        return null;
    $stmt = $DB->prepare('SELECT * FROM producto WHERE categoria_id = ?');
    $stmt->execute([$id]);
    return $stmt->fetchAll();
}

现在您的函数接受了id作为参数,只要您在脚本中包含此函数,就可以在任何地方使用它。在表单上提交:

# This will insert the id assuming it is submitted in a form
$prod = muestraProd(($_POST['id'])?? false, $DB);

如果在查询中(如注释中所述)https://www.emample.com?id=1

$prod = muestraProd(($_GET['id'])?? false, $DB);

然后,您可以手动进行以下操作:

$prod = muestraProd(1, $DB);

这些是最常见的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章