簡體   English   中英

使用PHP在SQL中選擇兩個日期之間的行

[英]Selecting rows between two dates in SQL with PHP

我正在嘗試從兩個日期之間的數據庫中獲取行。 為了解決這一點,我在這里使用了其他問題,但是我不知道如何從這里前進。

這是代碼,下面是輸出的屏幕截圖和運行SQL查詢的照片。

我在這里先向您的幫助表示感謝!

-

代碼的第一部分輸出ID,名稱等。

<?php

$sql = "SELECT * FROM songs ";
$result = $link->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["ID"] . " - Name: " . $row["name"] . " " . $row["released"]. "<br>";
}
} else {
    echo "0 results";
}

/* close connection */    

$link->close();

?>

此部分代碼輸出“ 0個結果”

<?php

$from_date = '2015-01-01';
$to_date = '2017-04-04';

$sql = "SELECT * FROM songs WHERE released BETWEEN '" . $from_date .  "' AND '" . $to_date . "' ";
$result = $link->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["ID"] . " - Name: " . $row["name"] . " " . $row["released"]. "<br>";
    }
} else {
    echo "0 results";
}

/* close connection */    

$link->close();

?>

上面的代碼就是頁面的樣子。

我已經成功選擇了SQL中的行。

編輯:將代碼寫入第二塊代碼中的IF ELSE語句的問題時,我犯了一個錯誤。 我只是將其更新為網站上的實際內容。 我沒有根據解決方案進行任何更改,而且仍然無法打印行。

您的結果將列出-從屏幕截圖中可以看到。 問題: While沒有else意義。

您的最后一個示例缺少}因此它說: while { } else { echo "0 results"}

但是echo "0 results"應該與num_rows -check相關,而不與while

除了使用while/else ,您一切都做對了; 您的代碼(第2個)部分應如下所示:

if ($result->num_rows > 0) {

  while () {
     //print your rows
  }
} else {

  //Say that there's 0 results
}

啊,我只需要在第一行中注釋掉這一行:

$link->close();

我向所有回答的人表示歉意,如果不清楚這些代碼塊是否彼此跟隨。 無論如何,對於其他有相同問題的人,請不要關閉連接-_-

這是當我注釋掉第一個塊中的行時輸出的內容

暫無
暫無

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

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