PDO MySQL SELECT与多个条件在一个IF语句


PDO MySQL SELECT with multiple criteria within an IF statement

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

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

我有一个变量;

  • $form_category//一个整数
  • $form_subcategory//一个整数
  • <
  • form_subcategory2美元//文本/gh>
  • $fname//文件名
  • $form_class//'create'是这个例子中的类
  • $form_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 ///

我希望输出'form_reference'和'form_description'从上述变量以及表单名称($fname),并显示在一个表与href上的文件名为例;echo "<td colspan='"3'" rowspan='"1'" style='"text-align: center; vertical-align: middle;'"><a href=".$dir."create/".$fname." target='"_blank'">".$fname."</a></td></tr>";

这样做,

$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" ; 
}       

还有,

$quer2 ->bindParam(':form_id', $form_id);

如果它是int类型,像这样修改它,$quer2 ->bindParam(':form_id', $form_id , PDO::PARAM_INT);

And if string then PDO::PARAM_STR .

这是一个很好的实践,可以增加安全性。