Php 在IF语句中使用多个条件的PDO MySQL SELECT

Php 在IF语句中使用多个条件的PDO MySQL SELECT,php,mysql,select,if-statement,Php,Mysql,Select,If Statement,我是一个新手,希望学习以下内容 我想用PHP查询MySQL(我的PDO连接是$dbo) 我对变量有一个简单的定义 $form\u category//一个整数 $form_子类别//一个整数 $form_子类别2//text $fname//文件名 $form_class/'create'是本例中的类 $form\u location//存储pdf的目录 我的查询尝试是 ///start query /// $quer2 = $dbo->prepare("SELECT form_

我是一个新手,希望学习以下内容

我想用PHP查询MySQL(我的PDO连接是$dbo)

我对变量有一个简单的定义

  • $form\u category//一个整数
  • $form_子类别//一个整数
  • $form_子类别2//text
  • $fname//文件名
  • $form_class/'create'是本例中的类
  • $form\u location//存储pdf的目录
我的查询尝试是

///start query ///

  $quer2 = $dbo->prepare("SELECT form_id,form_description
    FROM form_detail
    WHERE form_name < :form_name AND form_category = :form_category AND form_subcategory = :form_subcategory AND form_subcategory2 = :form_subcategory2");
        $quer2 ->bindParam(':form_id', $form_id);
    $quer2 ->bindParam(':form_name', $fname);
    $quer2 ->bindParam(':form_category', $catid);
    $quer2 ->bindParam(':form_subcategory', $subcatid);
    $quer2 ->bindParam(':form_subcategory2', $subcat2);
    $quer2 ->bindParam(':form_class', $form_class);
    $quer2 ->bindParam(':form_cerfa', $form_cerfa);
    $quer2 ->bindParam(':form_description', $form_description);
    $quer2 ->execute();

   ///End new query ///
///开始查询///
$quer2=$dbo->prepare(“选择表单id,表单描述
从表格(详情)
其中,表格名称<:表格名称和表格类别=:表格类别和表格子类别=:表格子类别和表格子类别2=:表格子类别2”);
$quer2->bindParam(':form\u id',$form\u id);
$quer2->bindParam(':form_name',$fname);
$query2->bindParam(':form_category',$catid);
$quer2->bindParam(':form_subcategory',$subcatid);
$query2->bindParam(':form_subcategory 2',$subcat2);
$quer2->bindParam(':form\u class',$form\u class);
$quer2->bindParam(':form\u cerfa',$form\u cerfa);
$quer2->bindParam(':form\u description',$form\u description);
$query2->execute();
///结束新查询///
我希望从上述变量以及表单名称($fname)中输出“form_reference”和“form_description”,并将其显示在文件名上带有href的表格中;
echo”“

这样做

$quer2 ->execute();
if ($sp->execute())  // Verify that result exist
{   

        $result=$quer2->fetch(PDO::FETCH_OBJ);
        $result->closeCursor();

//   Now , Access Form id and description in this way 



    echo "Form id : $result->form_id";
    echo "Form Description : $result->form_description" ; 
}       
还有一件事

$query2->bindParam(':form\u id',$form\u id)

如果是int,就这样修改它,
$query2->bindParam(':form\u id',$form\u id,PDO::PARAM\u INT)

如果是字符串,那么就
PDO::PARAM_STR


这是一个很好的实践,给你增加了安全性

你面临什么困难?如果有意义的话,我似乎无法从查询输出正确地构建表@a是否希望从数据库中显示
结果
,或者只需要使用这些变量?这有点让人困惑,请澄清。我希望结果在单独的单元格中为我构建一个html表,其中包含表单id(引用)、表单描述和表单名称。警告:PDOStatement::execute()[PDOStatement.execute]:SQLSTATE[HY093]:无效参数编号:绑定变量的数量与包含$quer2->execute()的行的令牌数量不匹配;显然,您绑定的参数与您放入查询中的占位符不匹配您绑定了这些参数
$query2->bindParam(“:form\u class”,“form\u class”)$query2->bindParam(':form\u cerfa',$form\u cerfa)$query2->bindParam(':form\u description',$form\u description)并且它们没有在您的查询中使用该文件名输出的表单id不正确?请在代码
中检查此项,其中表单名称<:表单名称
,不应该是
其中表单名称=:表单名称