1
我無法查詢數據庫的結果。當我在phpmyadmin中輸入查詢時,它完美地工作。但在php中執行完全相同的查詢不會返回任何結果。查詢不會返回任何記錄,但phpmyadmin會返回
我已經在互聯網上搜索了很長一段時間,但到處都是我發現這種查詢投票的最佳答案。也許我錯過了一些東西,你們可以幫助我。
查詢:
SELECT current_consumption, current_delivery, UNIX_TIMESTAMP(timestamp) FROM energydata WHERE timestamp > DATE_SUB(NOW(), INTERVAL 1 HOUR);
PHP:
<?php
include "database.php";
$limit = (int)$_GET["limit"];
// Create connection
$conn = new mysqli($servername, $databaseUser, $databasePassword, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT current_consumption, current_delivery, UNIX_TIMESTAMP(timestamp) FROM energydata WHERE timestamp > DATE_SUB(NOW(), INTERVAL 1 HOUR)";
$result = $conn->query($sql);
$json = array();
if ($result->num_rows > 0) {
$columns = array(
array(
'id' => 'date',
'label' => 'Date',
'type' => 'datetime'),
array(
'id' => 'consumption',
'label' => 'Consumption',
'type' => 'number'),
array(
'id' => 'delivery',
'label' => 'Delivery',
'type' => 'number')
);
$rows = array();
// output data of each row
while($row = $result->fetch_assoc()) {
$date = array();
$date = date_parse($row['timestamp']);
$currentRow = array(
'c' => array(
array(
'v' => 'Date('. $row['UNIX_TIMESTAMP(timestamp)'] .'000)'
),
array(
'v' => $row['current_consumption']
),
array(
'v' => $row['current_delivery']
)
)
);
array_push($rows, $currentRow);
}
$json = array(
'cols' => $columns,
'rows' => $rows);
}
echo json_encode($json);
附加'使用error_reporting(E_ALL);函數ini_set( '的display_errors',1);在''開始 $ row ['unixtime'];),'也加上缺少';'那裏檢查 –
感謝您的建議,但沒有錯誤r拋出。缺少的';'不會丟失,它是一個數組中的數組,因此只需要在初始'array()'後面的'''。 – Yokovaski
您確實需要更好的錯誤報告 - 但mysqli不會拋出錯誤 - 您需要對它們進行輪詢。您已檢查連接的工作情況,但如果您在運行查詢後檢查了錯誤,則可能看到「未選擇數據庫」 – symcbean