簡體   English   中英

准備()失敗; 嘗試在 MySQL 中准備 SQL 語句時出現錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM