2016-10-10 8 views
-1

prepare()に失敗しました。prepare()が失敗しました。 MySQLでSQL文を準備しようとするとエラーが発生する

私は、このSQL文を準備しようとすると、このエラーが来ている:$sqlQuery

$stmt = $statement_handler->prepare($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です。

+3

エラーメッセージは何ですか? –

+0

どのようなエラー??? 。 – devpro

+0

「WHERE 1」は何が必要ですか? – devpro

答えて

0

$stmt_handlerクラスを見て、具体的にはprepareの機能をご覧ください。

私の推測では、その関数にはエラー状態のチェックがあり、 "prepare()failed"というテキストメッセージがエコーアウトしていると思います。

これがMySQLによって報告されたエラーの結果として出力された場合、実際のエラーメッセージはMySQLから利用可能になります。 mysqli_error関数(コードがmysqli_を使用している場合)またはPDO::errorinfo()関数(コードがPDOを使用している場合)

これを使用して、MySQLから返された実際のエラーを取得します。

また、SQLテキストを別のクライアントに持ち込んでテストしてください。文を実行する他のクライアントは、SQLエラーを「隠す」ことはありません。

私たちはあなたが見ているエラーがSQL文の問題に関連していると推測しています。 MySQLはエラーを返す可能性があります。データベースに接続されていない、適切なデータベースにない、テーブルが存在しない、カラム参照が無効である、構文エラーなどです。

わかりやすい構文上の問題はありません。いくつかのファンクがありますが、無効なものは何もありません。すべての列参照は修飾されているため、予約語との衝突は問題ではありません。

関連する問題