PHP 中的参数化查询与 phpmyadmin 连接
Parameterized queries in PHP with phpmyadmin connexion
我想在网站上显示某个类别中的产品。如果我手动输入类别编号,我就可以显示一个类别的产品。但是,我不知道如何通过访问我的数据库中的数据来显示特定类别的产品,而不是在我的查询之前手动输入类别的 id,而是通过访问 table 个类别的 id,这与我的产品 table.
的 category_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);
这些是最常见的方式。
我想在网站上显示某个类别中的产品。如果我手动输入类别编号,我就可以显示一个类别的产品。但是,我不知道如何通过访问我的数据库中的数据来显示特定类别的产品,而不是在我的查询之前手动输入类别的 id,而是通过访问 table 个类别的 id,这与我的产品 table.
的 category_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);
这些是最常见的方式。