Ho il seguente codice peresempio:Cambiato PDO :: ATTR_EMULATE_PREPARES false e ottenere l'errore "numero di parametro non valido"
$dbStatement=$this->dbObject->prepare("SELECT AVG(quality) as quality,
AVG(adequacy) as adequacy,
AVG(friendliness) as friendliness,
SUM(overall) as overall,
SUM(completed) as completed,
type
FROM (SELECT AVG(quality) as quality,
AVG(adequacy) as adequacy,
AVG(friendliness) as friendliness,
COUNT(id) as overall,
SUM(is_completed) as completed,
category_id, type
FROM valuation a
WHERE status =1
AND type =:01
AND ((type='employer' AND owner_id=:02)
OR (type='employee' AND winner_id=:02))
GROUP BY category_id
HAVING COUNT(id)<=:03) b
GROUP BY type");
$dbStatement->bindParam(':01',$Type);
$dbStatement->bindParam(':02',$UserID);
$dbStatement->bindParam(':03',$Most);
$dbStatement->execute();
Questo codice genera un'eccezione da execute()
quando ho impostato PDO::ATTR_EMULATE_PREPARES
-FALSE
. Il seguente messaggio viene incluso nel oggetto eccezione:
SQLSTATE [HY093]: Parametro non valido numero
Impossibile realizzare il problema fino ad ora, anche se leggere i manuali corrispondenti.
sbattere la testa in brickwall/risolto ... grazie. –
Sigh ... a volte php è stupido oltre ogni immaginazione ... comunque grazie per la tua risposta. Hai ragione! – StefanNch