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: ""
درصورت امکان راهنمایی نمایید
پاسخ : پیغام Cannot add or update a child row: a foreign key constraint fails با فعال سازی ssl
این خطا به دلیل استفاده از ssl نیست. اگر قطعا موقع استفاده از ssl این خطا دیده میشود، به دلیل رفتار متفاوت سایت یا غیراصولی سایت موقع باز شدن به صورت ssl هست
رفع این مشکل در هر صورت نیازمند دسترسی به کدهای سایت و پیدا کردن علت واقعی مشکل در اون قسمت هست
پاسخ : پیغام 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();
}