September 19th, 2020, 11:10
#1
پیغام Cannot add or update a child row: a foreign key constraint fails با فعال سازی ssl
با درود
وقتی ssl را فعال می کنم در درگاه بانکی (ملت) هنگام بازگشت به سایت پرداخت انجام نشده و پیغام زیر را می دهد (بدون ssl مشکلی ندارد)
خطای اول
کد:
[Query Error:] Cannot add or update a child row: a foreign key constraint fails (`user`.`form_detail`, CONSTRAINT `form_detail_ibfk_3` FOREIGN KEY (`res_id`) REFERENCES `form_result` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
[Query:] INSERT INTO `form_detail` (`res_id`,`field_id`,`value`) VALUES (0,'1','<a href=\'./?cmd=epay_details&payid=0\'>مبلغ: ریال ـ رسید دیجیتالی بانک ملت: </a>')
خطای دوم:
کد:
[Query Error:] SOAP ERROR: Array
(
[faultcode] => soap:Client
[faultstring] => Unmarshalling Error: For input string: ""
درصورت امکان راهنمایی نمایید
تصاویر پیوست شده
September 19th, 2020 11:10
# ADS
September 20th, 2020, 12:12
#2
عضو انجمن
پاسخ : پیغام Cannot add or update a child row: a foreign key constraint fails با فعال سازی ssl
این خطا به دلیل استفاده از ssl نیست. اگر قطعا موقع استفاده از ssl این خطا دیده میشود، به دلیل رفتار متفاوت سایت یا غیراصولی سایت موقع باز شدن به صورت ssl هست
رفع این مشکل در هر صورت نیازمند دسترسی به کدهای سایت و پیدا کردن علت واقعی مشکل در اون قسمت هست
September 22nd, 2020, 12:40
#3
پاسخ : پیغام Cannot add or update a child row: a foreign key constraint fails با فعال سازی ssl
با تشکر
کد مربوط به پرداخت و آپدیت دیتا بیس
کد PHP:
{ ENGINE :: page_title ( 'نتیجهی تراکنش' ); $epfld = newdb ()-> select ( 'id' , 'config' )-> from ( 'form_field' )-> where ( "form_id= $FRMID && type='epayment' && status=1" )-> exec ()-> fetch (); $paid_before = newdb ()-> read ( "value" , "form_detail" , "res_id= $RESID and field_id= $epfld -> id " ); newdb ()-> update ( 'form_detail' )-> set ( 'value' , $paid_before . " | <a href='./?cmd=epay_details&payid= { $ePay -> pay_id } '>مبلغ: { $ePay -> pay_amount } ریال ـ رسید دیجیتالی " . ENGINE :: $config -> epay ->{ $_GET [ 'portal' ]}-> title . ": $ePay -> pay_refid </a>" )-> where ( "res_id= $RESID and field_id= $epfld -> id " )-> exec (); return $ePay -> get_output (); }