0

たとえば、postgresql にこのクエリがあるとします。

SELECT * FROM logs WHERE user_id = 8328 AND punchin::date = '2013-06-11';

成功を返します。

しかし、PHPで実装すると:

$sql = "SELECT * FROM logs WHERE user_id = $user_id AND punchin::date = $date";
$record = pg_query($sql);
$row = pg_fetch_array($record);

var_dump($row) //false

どうした?どうしてデータを取得できないのですか?

4

1 に答える 1

1

変更してみる

$sql = "SELECT * FROM logs WHERE user_id = $user_id AND punchin::date = $date";

$sql = "SELECT * FROM logs WHERE user_id = '$user_id' AND DATE(punchin) = '$date'";

パラメータを使用することをお勧めします

$sql = "SELECT * FROM logs WHERE user_id = $1 AND CAST(punchin AS DATE) = $2";
$result = pg_query_params($sql, array($user_id, $date));
于 2013-06-14T05:15:27.797 に答える