2017-04-01 21 views
0

MySQLデータベースの問題があるStart = "2017-03-29 01:30:00"PHPのエコーは、MySQLおよび日時選択

から生じます。しかし、結果がない場合は、デバッグしてテストする必要があります。「No」と表示されることが予想されます。しかし、MySQLでレコードを取得するかどうかに関わらず、常に「Yes」をエコーし​​ます。

どうすれば修正できますか?

主な目的:問題がある場合は、レコード

<?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"; 
    } 

    ?> 

答えて

0

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"; 
    } 

    ?> 
0

使用mysqli_num_rowsをfollwingでは達成することができます。 total> 0の場合、結果は見つかりませんでした。

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"; 
} 
を使用して、MySQLの結果セットから行をフェッチします
関連する問題