prepare($sql); $stmt->bindParam(':passenger_id', $passenger_id); $stmt->bindParam(':driver_id', $driver_id); $stmt->bindParam(':ride_id', $ride_id); $stmt->bindParam(':rating', $rating); $stmt->bindParam(':comment', $comment); $stmt->execute(); if ($stmt->rowCount() > 0) { jsonSuccess(null, "Rate inserted successfully"); } else { // في حال لم يتم الإدخال ولكن لم يحدث خطأ فني (نادرة الحدوث في Insert) jsonError("Failed to save rating information"); } } catch (PDOException $e) { // --- هذا القسم خاص بأخطاء قاعدة البيانات --- // 1. تسجيل الخطأ في ملف نصي على السيرفر (للمطور فقط) // سيتم إنشاء ملف اسمه errors.log في نفس المجلد إذا لم يكن موجوداً $errorMsg = "[" . date("Y-m-d H:i:s") . "] DB Error: " . $e->getMessage() . " | RideID: $ride_id \n"; file_put_contents("errors.log", $errorMsg, FILE_APPEND); // 2. إرجاع رسالة خطأ عامة للتطبيق jsonError("Database Error: Could not save rating"); } catch (Exception $e) { // --- هذا القسم خاص بالأخطاء العامة الأخرى --- $errorMsg = "[" . date("Y-m-d H:i:s") . "] General Error: " . $e->getMessage() . "\n"; file_put_contents("errors.log", $errorMsg, FILE_APPEND); jsonError("Error: " . $e->getMessage()); } ?>