Update: 2026-08-08 14:57:58
This commit is contained in:
@@ -1,7 +1,23 @@
|
||||
<?php
|
||||
include "../../connect.php";
|
||||
include_once "../../db_primary.php";
|
||||
|
||||
$driverID = filterRequest("driverID");
|
||||
|
||||
/**
|
||||
* `driver_orders` و`ride` كلاهما في القاعدة الأساسية لا في قاعدة الدفع —
|
||||
* نفس علّة getAllPayment.php التي كانت تُسقط الرصيد بـ
|
||||
* `Table 'payment.ride' doesn't exist`.
|
||||
*
|
||||
* كل جداول هذا الاستعلام في القاعدة الأساسية، فيُنفَّذ عليها كاملاً عبر
|
||||
* اتصال مستقل — لا إشارة مؤهَّلة، لأن القاعدتين قد تكونان على خادمين.
|
||||
*/
|
||||
$primary = primaryDbConnection();
|
||||
if ($primary === null) {
|
||||
printFailure("Statistics unavailable");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
YEAR(`driver_orders`.`created_at`) AS `year`,
|
||||
MONTH(`driver_orders`.`created_at`) AS `month`,
|
||||
@@ -30,19 +46,25 @@ ORDER BY
|
||||
|
||||
";
|
||||
// كان المعرّف يُدمج في نص الاستعلام مباشرةً — حقن SQL.
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->bindValue(':driverID', $driverID);
|
||||
$stmt->execute();
|
||||
try {
|
||||
$stmt = $primary->prepare($sql);
|
||||
$stmt->bindValue(':driverID', $driverID);
|
||||
$stmt->execute();
|
||||
} catch (PDOException $e) {
|
||||
// بلا هذا الالتقاط كان أي خلل في القاعدة يصير 500 يُسقط الشاشة كلها.
|
||||
error_log('[driverStatistic] ' . $e->getMessage());
|
||||
printFailure("Statistics unavailable");
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
// Fetch the record
|
||||
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
printSuccess( $row);
|
||||
|
||||
|
||||
}
|
||||
else{
|
||||
// Print a failure message
|
||||
printFailure($message = "No wallet record found");
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user