web-dev-qa-db-ja.com

WHEREの適切なチェーンとは

このステートメントは機能します:

$query = "
SELECT COUNT(*) 
FROM " . $this->s_createtableName . " 
WHERE tm BETWEEN UNIX_TIMESTAMP(DATE(NOW())) 
AND UNIX_TIMESTAMP(DATE(NOW()) + INTERVAL 1 DAY)";

クエリをチェーンしようとすると、このコードはWHEREステートメントで失敗します。

$query->select('COUNT(*)');

$query->from('. $this->s_createtableName .');

$query->where("tm BETWEEN UNIX_TIMESTAMP(DATE(NOW())) AND UNIX_TIMESTAMP(DATE(NOW()) + INTERVAL 1 DAY)");

任意の助けいただければ幸いです。

1
Phil Schaming

テーブル名を引用することをお勧めします。

これを試すことができます。 from句のドットを削除しなかったと思います。これが機能しない場合は、表示されるエラーメッセージを追加してください。

$query->select('COUNT(*)');

$query->from($this->s_createtableName);

$query->where("tm BETWEEN UNIX_TIMESTAMP(DATE(NOW())) AND UNIX_TIMESTAMP(DATE(NOW()) + INTERVAL 1 DAY)");
2
Sven Bluege