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);'をスクリプトに ' 'Date '、')とそこにチェックしてください。 –
提案に感謝しますが、エラーがありません。 r投げられた。欠落している ';'は欠けていないので、配列の配列であるため、最初の 'array()'の後の ';'のみが必要です。 – Yokovaski
あなたはより良いエラー報告が必要です - しかし、mysqliはエラーを投げません - それらをポーリングする必要があります。接続が正常に動作していることを確認しましたが、クエリの実行後にエラーをチェックした場合、「データベースが選択されていません。 – symcbean