The problem is this second line
$stmt = $this->prepareAndBind($query, $searchParams);
$stmt->execute(); //line 384
$searchParams[] is empty.
$stmt is false because that is being returned by prepareAndBind(). I think it should be a structure. Is this a known bug?
$stmt = $this->connection->prepare($query);
Here is the value of query that is causing prepare() to fail.
SELECT e.employee, e.employee_title, e.w2_wages as wages, t.risk,
CASE
WHEN risk='low' THEN e.w2_wages
WHEN risk='medium' THEN e.w2_wages*.5
ELSE 0
END as QREs
FROM employees as e, titles as t
WHERE e.email='richb201@gmail.com' AND e.campaign= 'Apple'
AND t.email='richb201@gmail.com' AND t.campaign= 'Apple'
AND e.employee_title=t.title
ORDER BY e.employee
Is it possible that the query is just too long? I think that this query was working a day or two ago. Please advise?