Приведенный ниже код я получил с веб-сайта школ w3 и немного адаптировал его для своей базы данных но независимо от того, что, когда я нажимаю на кнопку поиска, я печатаю только первую строку и ничего больше. Он даже не печатает, успешно ли установлено соединение с моим БД или нет.

Я использовал инструмент разработчика Chrome для проверки сетевого трафика и вижу, что мой запрос POST выполнен успешно:

Имя: Багамские острова представить: Поиск

Я включил ведение журнала ошибок и общего характера на моем экземпляре mysql, и сделал grep для Багамских островов и не получил хитов. Так что это может указывать на то, что скрипт даже не запрашивал мою базу данных?

IE, вот что я получаю: https://imgur.com/a/PHKBmbU


   <?php echo("PHP Search Page Loaded Successfully"); 


   if(isset($_POST['submit'])){


        if(preg_match("^/[A-Za-z]+/", $_POST['name'])){
            $servername = "localhost";
            $username = "test";
            $password = "test";
            $dbname = "test";

            // Create connection
            $conn = new mysqli($servername, $username, $password, $dbname);
            // Check connection
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            } else {
                echo("We are not dead");
            }

            $sql = "SELECT boatname, date, price FROM liveaboards";
            $result = $conn->query($sql);


            if ($result->num_rows > 0) {
                // output data of each row
                while($row = $result->fetch_assoc()) {
                    echo("<br> boatname: ". $row["boatname"]. " - date: ". $row["date"]. " " . $row["price"] . "<br>");
                }
            } else {
                echo(" 0 results");
            }

            $conn->close();

        }
    }else{
        echo("<p>Please enter a search query</p>");
    }

?>


php
1
D.Zou 28 Фев 2020 в 07:24

2 ответа

Лучший ответ

Следуя теме W3 Schools (один из моих любимых ресурсов), вот правильный способ очистки данных:

Согласно вашему результату POST вы получаете name: bahamas submit: Search, если это так, то исправьте это

if(isset($_POST['submit'])){

TO 

if(isset($_POST['Search'])){
0
Omari Victor Omosa 28 Фев 2020 в 05:48