0

この sql クエリの準備が無効である理由がわかりません。

$from = 1462890333;
$to = 1462890335;
$token = 123;
$sql = "SELECT temperature FROM `am_measurements` WHERE token = ? AND date BETWEEN ? AND ?";
if($stmt = $conn->prepare($sql)){
    $stmt->bind_param('sii', $token, $from, $to);
    $stmt->execute();
    $stmt->bind_result($a);
    $stmt->fetch();
    echo $a;
} else {
    echo "not good";
}

結果は「ダメ」。それはどのように行われるべきですか?

am_measurements テーブルのデータは次のとおりです: https://mega.nz/#!tJEx0IiL!OoXHSVJh0A0kAVzYrcJKL6BGxktcZZWpOC26KV-Egao

@編集

問題の原因はわかりましたが、その理由と解決方法はわかりません。

$sensor_id = 0;
$from = 1462890333;
$to = 1462890335;

//MySQL Database Connect
include 'database.php';

$stmt = $conn->stmt_init();
$stmt = $conn->prepare("SELECT token FROM `am_sensors` WHERE id = ?");
$stmt->bind_param('i', $sensor_id);
$stmt->execute();
$stmt->bind_result($token);
$stmt->fetch();
echo $token; //this returns "123"
$sql = "SELECT temperature FROM `am_measurements` WHERE token = ? AND date BETWEEN ? AND ?";
if($stmt = $conn->prepare($sql)){
    $stmt->bind_param('sii', $token, $from, $to);
    $stmt->execute();
    $stmt->bind_result($a);
    $stmt->fetch();
    echo $a;
} else {
    echo "not good";
}

以前のSQLクエリを削除すると、すべて問題ありません。

4

0 に答える 0