اذهب إلى المحتوى
  • 0

كيف يتم استعلام البينات وعرضها علي المتصفح

عادل محمد أحمد حسين

السؤال

انا لدي مشروع لإنشاء chat بلغة phl وعملت كل شيء بس ، حتى الإتصال بقاعدة بيانات تم ، بس المشكلة عملية ادخال البيانات وعرضها لم يتم ،

اسم قاعدة البيانات chat

واسم الجدول chatpp

ولدي اربع حقول. I'd ,name, msg, date 

ورسالة الخطأ query on null

         لكم جزيل الشكر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هل يمكنك مشاركة الكود لنتمكن من مساعدتك؟

بتاريخ 43 دقائق مضت قال عادل محمد5:

انا لدي مشروع لإنشاء chat بلغة php وعملت كل شيء بس ، حتى الإتصال بقاعدة بيانات تم ، بس المشكلة عملية ادخال البيانات وعرضها لم يتم ،

الخطأ query on null يشير إلى أن الاستعلام يتم تنفيذه على اتصال غير موجود ضمن النطاق الحالي أو غير معرف، هذا مثال على كلا الحالتين:

  • الحالة الأولى: متغير الاتصال في غير نطاق scope 
<?php


$db = new mysqli('127.0.0.1', 'root', '', 'db_name');

    function getData($user_id){

      $result = $db->query("SELECT * FROM chatpp WHERE id = '$user_id'");
      
        //....
    }

نلاحظ هنا أننا قمنا بتعريف متغير الاتصال db خارج نطاق التابع getData و عند استخدامه داخل التابع لتتنفيذ الاستعلام سيعطي الخطأ:

query() on null

 ولحل هذا الخطأ نقوم بتعريف متغير الاتصال كـ global variable كالتالي:

<?php

global $db = new mysqli('127.0.0.1', 'root', '', 'db_name');

    function getData($user_id){

      $result = $db->query("SELECT * FROM chatpp WHERE id = '$user_id'");
      
        //....
    }
  • الحالة الثانية: هي وجود خطأ في تسمية متغير الاتصال (بسبب السرعة أو نسخ و لصق الاكواد الجاهزة من الانترنت دون تنقيحها) كالتالي:
<?php

$db = new mysqli('127.0.0.1', 'root', '', 'db_name');

$result = $conn->query("SELECT * FROM chatpp WHERE id = '$user_id'");

 حيث في الكود السابق تم تعريف متغير اتصال اسمه db و استخدام متغير اتصال اخر اسمه conn لاستدعاء تابع الاستعلام.

هذه هي الاخطاء الأكثر شيوعا لهذا النوع من الأخطاء،
في حال لم تحل المشكلة بتطبيق الحلول السابقة قم برفع الكود كي نتمكن من مساعدتك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...