gpt4 book ai didi

PHP MySQL PDO 执行函数在两次使用相同参数时不给出任何结果

转载 作者:行者123 更新时间:2023-11-29 08:18:35 24 4
gpt4 key购买 nike

如果我手动执行以下查询,替换为值而不是 : ,它可以工作,但如果通过 php 执行,相同的查询不会返回任何内容...

$sql_check = $dbConnection->prepare("select sum(case when 
upper(main_category)=upper(:main_category) and
upper(sub_category1)=upper(:sub_category1) then 1
when upper(main_category)=upper(:main_category) then 1 else 0 end) cnt from dbs.sales;");
$sql_check->execute(array(':main_category' => $main_category,':sub_category1' =>
$sub_category1,':sub_category2' => $sub_category2));

foreach ($sql_check as $row) {
$cnt=$row['cnt'];
echo "cnt ".$cnt."<br>"; //No rows returned upon execution
}//end of for loop

这里:main_category被使用两次

The above query is working fine if i DO NOT use :main_category twice...

如果要在查询中使用相同的参数化字段,请帮助我并让我知道如何运行查询?

最佳答案

$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE);

首先让它发挥作用

$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

也很有用

关于PHP MySQL PDO 执行函数在两次使用相同参数时不给出任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com