【问题标题】:Using MySQL variables with PDO Select statements将 MySQL 变量与 PDO Select 语句一起使用
【发布时间】:2016-02-01 15:44:27
【问题描述】:

我有一系列需要使用 PDO 调用的 MySql 查询。他们中的许多人都在使用 MySql 变量。当然,一个解决方案是使用 PDO 准备好的语句,但情况并非总是如此。 InsertUpdate 语句运行没有问题,但 Select 抛出错误。 (我现在无法为您粘贴。如果需要,请说)

在 MySQL Workbench 中执行选择查询时运行良好。

SET 
    @CY = YEAR(DATE_ADD(CURRENT_DATE,INTERVAL -17 DAY));

SELECT
   *
FROM
    TableX
WHERE
    TableX.Year IN (@CY, @CY-1)

有什么想法吗?

其他信息:PHP 5.3.29MYSQL 5.5.47

【问题讨论】:

  • SELECT 抛出了什么错误?

标签: php mysql pdo


【解决方案1】:

您可以通过两个步骤执行类似的查询:

$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
        )

)

【讨论】:

    猜你喜欢
    • 2016-06-10
    • 2022-09-15
    • 2012-06-24
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多