php脚本未将查询发送到mysql db?

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

下面的代码是我从w3 schools website那里得到的,并对其进行了一些修改,但是无论我单击搜索按钮时如何,我只会打印第一行,而没有其他内容。如果成功连接到我的数据库,它甚至不会打印。

我使用chrome的dev工具检查我的网络流量,可以看到我的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
2个回答
0
投票

按照W3学校的主题(我最喜欢的资源之一),这是清除数据的正确方法:https://www.w3schools.com/php/php_filter.asp

应用于您的代码:

   <?php echo("PHP Search Page Loaded Successfully"); 
// test variables.    
$_POST['submit'] = true;
$_POST['name'] = "bahamas";

   if(isset($_POST['submit'])){
            $_POST['name'] = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
            $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>");
    }

?>

0
投票

根据您的POST结果,您收到name: bahamas submit: Search,如果是,则更正此内容

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

TO 

if(isset($_POST['search'])){
© www.soinside.com 2019 - 2024. All rights reserved.