Tôi có đoạn code sau forexample:Thay đổi PDO :: ATTR_EMULATE_PREPARES lỗi FALSE và nhận được "số tham số không hợp lệ"
$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();
Mã này ném một ngoại lệ từ execute()
khi tôi đặt PDO::ATTR_EMULATE_PREPARES
-FALSE
. Được thông báo sau được bao gồm trong các đối tượng ngoại lệ:
SQLSTATE [HY093]: tham số không hợp lệ số
Không thể nhận ra vấn đề cho đến nay, mặc dù đọc hướng dẫn sử dụng tương ứng.
đầu đập vào gạch tường/giải quyết ... cảm ơn bạn. –
Sigh ... đôi khi php là câm ngoài niềm tin ... dù sao cảm ơn bạn đã trả lời của bạn. Bạn nói đúng! – StefanNch