البرمجة

حل مشكلة json_encode في PHP: البحث عن الحلاول لتجنب قيم null

في الواقع، يبدو أن المشكلة التي تواجهها في رمز PHP الخاص بك تعود إلى استخدام دالة utf8_encode مع الصفوف التي تم استرجاعها من قاعدة البيانات. يمكن أن يكون هذا هو السبب الرئيسي الذي يؤدي إلى عدم نجاح json_encode في إنشاء البيانات بشكل صحيح.

عندما تستخدم array_map('utf8_encode', $row)، فإنك في الواقع تقوم بتشفير القيم في كل خلية من الصف باستخدام utf8_encode، وهو أمر قد يؤدي إلى تعارض مع عملية الترميز اللاحقة للجسون.

بدلاً من ذلك، يمكنك ترك البيانات كما هي من قاعدة البيانات واستخدام دالة json_encode مباشرة دون تطبيق utf8_encode على الصفوف. يكون الكود كالتالي:

php
$hostname = "localhost"; $dbname = "amir"; $dbpass = "123456"; $con = new mysqli($hostname,$dbname,$dbpass,'amir'); $jasonData = array(); $sql = "select Username, Password from User_Login "; if($result = $con->query($sql)){ while($row = $result->fetch_row()){ $jasonData[] = $row; } } echo json_encode($jasonData); print json_last_error(); $con->close(); ?>

بهذه الطريقة، ستكون البيانات قد تم تحميلها كما هي من قاعدة البيانات دون التلاعب بترميزها، ويجب أن يعمل json_encode بشكل صحيح دون عودة قيمة null.

المزيد من المعلومات

بالطبع، دعنا نقم بتوضيح المزيد من المعلومات لتسليط الضوء على بعض النقاط الهامة.

في الكود السابق، يظهر لنا أنك تستخدم قاعدة بيانات MySQL لاسترجاع معلومات المستخدمين من جدول User_Login، حيث تقوم بتخزين اسم المستخدم وكلمة المرور.

الخطوة الأولى في الكود هي إنشاء اتصال بقاعدة البيانات باستخدام كائن mysqli. يتم ذلك باستخدام المتغيرات $hostname، $dbname، و$dbpass لتحديد معلومات الاتصال.

ثم يتم إعداد استعلام SQL لاسترجاع البيانات من جدول User_Login. يتم تنفيذ الاستعلام باستخدام الدالة query ويتم فحص النتائج باستخدام دالة fetch_row، والتي تسترجع صفًا من النتائج في كل مرة.

يتم تخزين البيانات في مصفوفة $jasonData، وفي نهاية اليوم يتم استخدام json_encode لتحويل هذه المصفوفة إلى تنسيق JSON الصحيح.

كما تم تضمين استخدام json_last_error لفحص رمز الخطأ الأخير الذي يمكن أن يوفر تفاصيل إضافية في حال وجود أي مشكلة في عملية الترميز.

هذا الكود يشير بوضوح إلى كيفية استرجاع البيانات من قاعدة البيانات باستخدام PHP وتحويلها إلى تنسيق JSON بشكل صحيح. يجب التأكد من أن جدول قاعدة البيانات يحتوي على بيانات صحيحة وأن لا يكون هناك أي خطأ في عمليات استرجاع البيانات أو تحويلها.

زر الذهاب إلى الأعلى