1

次のコードがあります。

try
{
    $sql = 'SELECT id, type, date, amount, description, category 
FROM `transactions`
    WHERE type = "income"
    AND month(date) = '$monthselect'
    ORDER BY `transactions`.`id` DESC
    LIMIT 0,50';
    $result2 = $pdo->query($sql);
}

ここで、month(Date)選択する月を変数に指定します。1 を入れると、1 月になります。それで、変数を1で定義すると、それを使用して月を選択できると思いましたよね?

$monthselect = 1;

うまくいきません。私は何を間違っていますか?

4

4 に答える 4

1

PHP では、二重引用符を使用して変数を置き換えることがよくあります。

$sql = "SELECT id, type, date, amount, description, category 
    FROM `transactions`
    WHERE type = 'income'
    AND month(date) = $monthselect
    ORDER BY `transactions`.`id` DESC
    LIMIT 0,50";

既存の二重引用符 (文字列内) を単一引用符に交換する必要があることに注意してください。それらをエスケープすることもできますが、この方法の方がはるかに読みやすいと思います。

于 2013-06-19T20:06:31.973 に答える
1

PHP で文字列を連結するには、. オペレーター。

$sql = 'SELECT id, type, date, amount, description, category 
    FROM `transactions`
    WHERE type = "income"
    AND month(date) = ' . $monthselect . '
    ORDER BY `transactions`.`id` DESC
    LIMIT 0,50';
于 2013-06-19T20:04:05.640 に答える