试图将准备好的语句与类似sql的关键字一起使用,但遇到问题

问题描述 投票:0回答:1

我正在使用表单输入,并尝试将LIKE关键字与%修饰符一起传递到sql select查询中,并且都在pdo准备好的语句中,而且我不知道从哪里开始调试。这是代码:

if (isset($_POST["submit"])) {
    $search_string = "%".$_POST["search"]."%";

    $query = "SELECT * FROM posts WHERE post_tags LIKE :a";

    $stmt = $connect->link->prepare($query);
    $stmt->bindValue(":a",$search_string);
    $stmt->execute();

    while($row = $stmt->fetchall()) {
        echo $row["post_tags"];
    }
}

我遇到以下错误:

注意:未定义索引:C:\ wamp64 \ www \ cms \ CMS_TEMPLATE \ includes \ sidebar.php在第18行的post_tags

mysql pdo prepared-statement
1个回答
0
投票

问题是我使用的是fetchall而不是fetch

if(isset($_POST["submit"])){
                $search_string = "%".$_POST["search"]."%";
                ;

                $query = "SELECT * FROM posts WHERE post_tags LIKE :a";

                $stmt = $connect->link->prepare($query);
                $stmt->bindValue(":a",$search_string);
                $stmt->execute();

                $numrows = $stmt->num_rows();
                echo $numrows;

                    while($row = $stmt->fetch()){
                        echo $row["post_tags"];
                    }



            }
© www.soinside.com 2019 - 2024. All rights reserved.