簡體   English   中英

來自mysql和datetime選擇的php echo結果

[英]php echo result from mysql and datetime selection

MySQL數據庫Start = "2017-03-29 01:30:00"

問題是:

我打印$ SQL並在MySQL數據庫中搜索記錄,它可以搜索記錄。 但是,我需要調試並測試是否沒有結果,它將回顯為“ No”。 但是,無論我是否可以在MySQL中獲得記錄,它總是呼應“是”。

我該如何解決。

主要目的:如果有記錄,則獲取記錄;如果沒有記錄,則返回“否”

  <?php
    $serverName = "localhost";
    $username = "root";
    $password = "";
    $dbName = "fyp";
    $tbName = "events";



    $String_start = '2017-03-29 01:28:00';
    $String_end = '2017-03-29 01:32:00';


    $conn = new mysqli($serverName, $username, $password, $dbName);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }



    //$staffID =  $_SESSION['userID'];
    $staff_ID = '15207800';

    $sql = "SELECT *
                    FROM `$tbName`
                    WHERE  `start` BETWEEN ('$String_start') AND ('$String_end')";

    echo $sql;
    $result=mysqli_query($conn,$sql);

    if($result)
    {
        echo "Yes";
    }
    else{
        echo "no";
    }

    ?>

Mysql查詢僅在出現問題時返回失敗,為了成功執行,即使沒有記錄,它也會返回TRUE。 您可以通過以下方式實現

<?php
    $serverName = "localhost";
    $username = "root";
    $password = "";
    $dbName = "fyp";
    $tbName = "events";



    $String_start = '2017-03-29 01:28:00';
    $String_end = '2017-03-29 01:32:00';


    $conn = new mysqli($serverName, $username, $password, $dbName);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }



    //$staffID =  $_SESSION['userID'];
    $staff_ID = '15207800';

    $sql = "SELECT *
                    FROM `$tbName`
                    WHERE  `start` BETWEEN ('$String_start') AND ('$String_end')";

    echo $sql;
    $result=mysqli_query($conn,$sql);
    $num_rows = mysqli_num_rows($result);

    if($num_rows > 0)
    {
        echo "Yes";
    }
    else{
        echo "no";
    }

    ?>

使用mysqli_num_rows將返回查詢返回的總結果。 如果總數> 0,則結​​果為其他,否則無結果。

要從MySQL結果集中獲取行,請使用mysqli_fetch_assoc

$result = mysqli_query($conn,$sql);

// $result contains result set and will return `TRUE` if query was successfully executed
// and will return `FALSE` only in case of error

$total = mysqli_num_rows($result);
if($total > 0)
{
    echo "Yes";
    // Fetch rows from mysql result set
    while($row=mysqli_fetch_assoc($result))
    {
        print_r($row);
    }
}
else
{
    echo "no";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM