Попытка использовать подготовленный оператор с sql, как ключевое слово, но сталкивается с проблемами - PullRequest
0 голосов
/ 28 октября 2019

Я беру ввод данных из формы и пытаюсь передать его в запрос выбора sql, используя ключевое слово LIKE вместе с модификатором %, все в подготовленном операторе 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"];
    }
}

Я получаю следующую ошибку:

Примечание: неопределенный индекс: post_tags в C: \ wamp64 \ www \ cms \ CMS_TEMPLATE \ includes \sidebar.php в строке 18

1 Ответ

0 голосов
/ 28 октября 2019

проблема была в том, что я использовал 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"];
                    }



            }
...