Если я вручную выполнил следующий запрос, заменив значения вместо:, его рабочий, но тот же запрос ничего не возвращает, если выполняется через php ...Функция PHP MySQL PDO execute, не дающая результата, когда тот же самый параметр используется дважды
$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 используется дважды
выше запрос работает нормально, если я НЕ использовать : main_category дважды ...
Пожалуйста, помогите мне и дайте мне знать, как запустить запрос, если в запросе будет использоваться такое же параметризованное поле?
Тогда не используйте ': main_category' дважды. Назовите это чем-то другим. [** RTFM **] (http://www.php.net/manual/en/pdostatement.execute.php) – Bojangles