sqliteviewer を使用して実行すると:
SELECT * FROM areas WHERE x1 <= 1 AND x2 >= 1 AND z1 <= 1 AND z2 >= 1
正しい結果が得られますが、このphpコードでは結果が得られません:
$x = 1;
$z = 1;
$sql = $this->database->prepare("SELECT * FROM areas WHERE x1 <= :x AND x2 >= :x AND z1 <= :z AND z2 >= :z");
$sql->bindValue(':x', $x, SQLITE3_INTEGER);
$sql->bindValue(':z', $z, SQLITE3_INTEGER);
$result = $sql->execute();
このコードの何が問題なのか誰か知っていますか?
編集: クエリで動作します:
$result = $this->database->query("SELECT * FROM areas WHERE x1 <= ".$x." AND x2 >= ".$x." AND z1 <= ".$z." AND z2 >= ".$z);