[英]prepare() failed; error coming when trying to prepare SQL statement in MySQL
准備()失敗;
當我嘗試准備此 SQL 語句時會出現此錯誤:
$stmt = $statement_handler->prepare( $sqlQuery );
$sqlQuery
回聲是:
SELECT
distinct(reservation.reservationid),reservation.name,reservation.age
as p_age,reservation.gender as
p_gender,reservation.lessonregistrationno,reservation.mobile,reservation.email,reservation.arrivaldate,reservation.arrivaltime,reservation.departuredate,reservation.departuretime,centers.name
as
centername,reservation.purposeofvisitid,reservation.otherpurpose,reservation.additionalinformation,reservation.status,reservation.membertype
as
type,reservation.iskriyaban,reservation.sharedacco,reservation.citizenship,reservation.total_guest,reservation.created,reservationmember.name
as
member_name,reservationmember.age,reservationmember.lessonregistrationnumber,reservationmember.gender,reservationmember.membertype,relationships.relationship,countries.name
as country,purposeofvisits.purpose FROM reservation LEFT JOIN centers
ON reservation.centerid = centers.centerid LEFT JOIN purposeofvisits
on purposeofvisits.purposeofvisitid = reservation.purposeofvisitid
LEFT JOIN countries ON countries.id = reservation.countryid LEFT JOIN
reservationmember on reservationmember.reservationid =
reservation.reservationid LEFT JOIN relationships on
reservationmember.relationshipid = relationships.relationshipid WHERE
1 AND ( (reservation.arrivaldate >= '2016-10-01') ) AND (
(reservation.arrivaldate <= '2016-10-10') ) ORDER BY
reservation.status desc, reservation.arrivaldate asc,
reservation.reservationid asc LIMIT 0, 25
后端是 MySQL,前端是 PHP。
建議你看一下$stmt_handler
類,具體看一下prepare
函數。
我的猜測是,在該函數中,會檢查錯誤情況,並且會回顯文本消息“prepare() failed”。
如果這是由於 MySQL 報告的錯誤而輸出的,則可以從 MySQL 獲得實際的錯誤消息。 來自mysqli_error
函數(如果代碼使用 mysqli_)或PDO::errorinfo()
函數(如果代碼使用 PDO。)
使用它來獲取從 MySQL 返回的實際錯誤。
此外,將 SQL 文本帶到另一個客戶端,並在那里對其進行測試。 您運行該語句的任何其他客戶端都不會“隱藏”SQL 錯誤。
我們只是猜測您看到的錯誤與 SQL 語句中的問題有關。 MySQL 返回錯誤的可能原因有很多……未連接到數據庫、用戶權限不足、不在正確的數據庫中、表不存在、列引用無效、語法錯誤等。
我沒有看到明顯的語法問題。 有一些時髦,但我沒有看到任何無效的東西。 所有列引用都是限定的,因此與保留字的沖突應該不是問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.