• 0

مشكلة mysqli_query() expects parameter؟

مرحبا :)

صادفتني مشكلة في كود MySQL، حيث يعطيني هذا السطر :

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in .. on line 8

الكود الذي كتبته :

<?php
$dbse = mysqli_connect("localhost", "root", "root", "dbname") or die (mysql_error());
mysqli_select_db($dbse, "dbname");        
if (!class_exists('DB')) {
  class DB{
  private $sql;
  public function query($sql){
  	return mysqli_query($dbse,$sql) or die(mysql_error()); // Line 8
  }
  public function fetch($sql){
    $Data = array();
    $Q = $this->query($sql);
    while ($row = mysqli_fetch_array($Q)) {
    	$Data[] = $row;
    }
    return $Data;
    }
  }
}
?>
ما السبب في ذلك، وما الحال ؟! :(

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

المشكلة أنك كتبت كودًا خليطا من  mysqli وَ mysql وهذا لن يعمل.

الأفضل أن تعتمد على mysqli المحسنة على mysql.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

كما أخبرك الأخ يحيى

بتاريخ 9 ساعات قال يحيى:

المشكلة أنك كتبت كودًا خليطا من  mysqli وَ mysql وهذا لن يعمل.

فدالة mysqli_query() تأخذ ثلاثة معاملات وهي connection وquery وresultmode:

  • معامل connection: وهو معامل إجباري يحدد الاتصال الذي سيستخدمه MySQL.
  • معامل query: وهو معامل إجباري أيضا، يحدد سلسلة الإستعلام النصية.
  • أما معامل resultmode: فهو معامل إختياري، وهو ثابت فإما أن يكون MYSQLI_USE_RESULT (استخدم هذا الخيار إذا كنت ستسترجع مجموعة كبيرة من البيانات) أو MYSQLI_STORE_RESULT (وهو الخيار الافتراضي).

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

السلام عليكم

أعتقد أن سبب المشكلة لديك يكمن في هذا السطر

$dbse = mysqli_connect("localhost", "root", "root", "dbname") or die (mysql_error());

تأكّد من أن تنفيذه يعطيك object في $dbse وأن الاتصال يتم فعلًا.

قم بإضافة السطر التالي بعده مباشرة وتأكد من أنه obj وليس string.

var_dump($dbse);
exit();

والسلام عليكم ورحمة الله وبركاته

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن