用准备好的语句放大并选择查询

我使用下面的代码来获取SQL的数据,当我运行代码时,我得到了implode(): Invalid arguments passed 而且有多个与此主题相关的帖子,我找不到任何解决方案。

OR

我对准备好的声明做错了。

$cate = filter_input(INPUT_POST,'cate');

if (isset($_POST["action"])) {
    $query = "SELECT * FROM allpostdata WHERE sts = '1'";

    if (isset($cate)) {
        $catef = implode("','",$cate);
        $query .= "AND sca IN(:cate)";
    }


    $stmt = $conn->prepare($query);
    $stmt->bindParam(':cate',$catef,PDO::PARAM_STR,10);
    $stmt->execute();
    $result = $stmt->fetchAll();
    $total_row = $stmt->rowCount();
    $output = '';
    if ($total_row > 0) {
        foreach ($result as $row) {
          $output .=
           }
} else {
    $output = '<h3>No Data Found</h3>';
}
echo $output;
}

在我尝试使用PDO prepared statement进行编码之前,以下代码在其他地方仍然可以正常工作

if (isset($_POST["action"])) {
$query = "SELECT * FROM allpostdata WHERE sts = '1'";

if (isset($_POST["cate"])) {
    $brand = implode("',$_POST["cate"]);
    $query .= "AND sca IN('" . $brand . "')";
}

$statement = $conn->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$total_row = $statement->rowCount();
$output = '';
if ($total_row > 0) {
    foreach ($result as $row)
lz0738 回答:用准备好的语句放大并选择查询

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3065879.html

大家都在问