我使用下面的代码来获取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)