我有一系列需要用PDO调用的MySql查询。其中许多都使用MySql变量。当然,解决方案是使用PDO准备好的语句,但情况并不总是这样。Insert和Update语句运行时没有问题,但是Select抛出了一个错误。(我现在不能为你粘贴它。如果有必要,请说)
在MySQL工作台中执行时,Select查询运行良好。
SET
@CY = YEAR(DATE_ADD(CURRENT_DATE,INTERVAL -17 DAY));
SELECT
*
FROM
TableX
WHERE
TableX.Year IN (@CY, @CY-1)有什么想法吗?
附加信息:PHP 5.3.29和MYSQL 5.5.47
发布于 2016-02-01 18:50:02
您可以通过两个步骤执行类似的查询:
$stmt = $pdo->query('SET @CY = YEAR(DATE_ADD(CURRENT_DATE,INTERVAL -17 DAY));');
$stmt = $pdo->query('SELECT @CY, @CY-1');
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($data);产出:
Array
(
[0] => Array
(
[@CY] => 2016
[@CY-1] => 2015
)
)https://stackoverflow.com/questions/35134525
复制相似问题