2015-11-14 36 views
0
$selectResitDate = "SELECT startdate FROM resit"; 
$runselectResitDate = mysqli_query($conn, $selectResitDate); 
if (!$runselectResitDate) { 
    die('Invalid query: ' . mysql_error()); 
} 
while($row = mysqli_fetch_assoc($runselectResitDate)) 
{ 
    $datetime2 = new DateTime($row=['startdate']); 
    $interval = $datetime1->diff($datetime2); 
    $diff=$interval->format('%a'); 
    echo $diff; 
} 

plz幫助,它只是沒有工作..顯示沒有結果 我曾多次見過這個問題,有人可以告訴我爲什麼這個問題正在發生,以及如何避免這種情況?需要幫助..有人可以告訴我爲什麼查詢沒有執行嗎?

+0

運行'選擇STARTDATE FROM resit'到phpMyAdmin,看看可能是你的表或者列名是誤拼寫。 –

回答

4

刪除等號:

$datetime2 = new DateTime($row=['startdate']); 
          ^

它應該是:

$datetime2 = new DateTime($row['startdate']); 

否則你只是分配一個$row單一元素的數組,並用它作爲Datetime函數的參數,而不是獲取的的值。

另外,將mysql_error()更改爲mysqli_error($conn)

+0

謝謝..我改變了它,但它仍然運行mysql_error().. –

+0

等待!!!!有用!!!!我在那裏犯了一個小錯誤..非常感謝你! –

+0

酷!我很高興你做到了。如果你對我的回答沒問題,請接受。 –

1

=正在導致這個問題。當我們通過它的鍵訪問數組值時,我們使用像$array['key']。因此,使用 :

$datetime2 = new DateTime($row['startdate']);

代替:

$datetime2 = new DateTime($row=['startdate']);

+0

謝謝〜並感謝您的理解:) –

-1

變化:

$datetime2 = new DateTime($row=['startdate']); 

要:

$datetime2 = new DateTime($row['startdate']); 

或者你也可以試試這個代碼

$conn = mysql_connect("host", "user", "password"); 

    if (!$conn) { 
     echo "Unable to connect to DB: " . mysql_error(); 
     exit; 
    } 

    if (!mysql_select_db("yourdbname")) { 
     echo "Unable to select mydbname: " . mysql_error(); 
     exit; 
    } 

    $sql = "SELECT startdate FROM resit"; 

    $result = mysql_query($sql); 

    while ($row = mysql_fetch_assoc($result)) { 

     $datetime2 = new DateTime($row['startdate']); 
     $interval = $datetime1->diff($datetime2); 
     $diff=$interval->format('%a'); 
     echo $diff; 
    } 
+0

請不要使用或建議'mysql'給任何人使用'PDO'或'mysqli'。 –

相關問題