انجمن ایران پی اچ پی
ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result - نسخه قابل چاپ

+- انجمن ایران پی اچ پی
+-- انجمن: پایگاه داده/Database (https://forum.iranphp.org/Forum-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-Database)
+--- انجمن: MySQL, MsSQL, PgSQL, SQLite, MongoDb (https://forum.iranphp.org/Forum-MySQL-MsSQL-PgSQL-SQLite-MongoDb)
--> +--- موضوع: ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result



ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result - mahsunseven - ۱۳۹۷ دى ۲۸

سلام و خسته نباشید
من هنگام بارگزاری یک صفحه با اروز زیر مواجه میشم :

کد:
Notice: Undefined variable: row in C:\xampp\htdocs\PHP\chapter_24\search.php on line 23

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\PHP\chapter_24\search.php on line 23


کدهای فایل من :
کد پی‌اچ‌پی:
<?php
if(isset($_POST['btn'])){
 
   $str=$_POST['str'];
 
   //echo $str;
 
   $a=mysqli_connect("localhost","root","","php_test");
 
   $sql="SELECT * FROM users_tbl WHERE name LIKE '%$str%'";
 
   $row=mysqli_query($a,$sql);
}
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<form method="post">
    <input type="text" name="str">
    <input type="submit" name="btn">
</form>
<ul>
    <?php
    while
($res=mysqli_fetch_array($row)){
 
       echo "<li>".$res['username']."</li>";
 
   }
 
   ?>
</ul>
</body>
</html> 


لطفا راهنمایی کنید.


RE: ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result - Y.P.Y - ۱۳۹۷ دى ۲۸

این قطعه کد رو در خط اول فایل PHP قرار بده:

کد پی‌اچ‌پی:
error_reporting(E_ALL); // Error engine - always ON!

ini_set('display_errors'TRUE); // Error display - OFF in production env or real server

ini_set('log_errors'TRUE); // Error logging

ini_set('error_log''./errors.log'); // Logging file

ini_set('log_errors_max_len'1024); // Logging file size 

بعد ببین خطای اصلی چی هست


RE: ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result - mahsunseven - ۱۳۹۷ دى ۲۹

(۱۳۹۷ دى ۲۸, ۰۳:۳۰ ب.ظ)Y.P.Y نوشته: این قطعه کد رو در خط اول فایل PHP قرار بده:

کد پی‌اچ‌پی:
error_reporting(E_ALL); // Error engine - always ON!

ini_set('display_errors'TRUE); // Error display - OFF in production env or real server

ini_set('log_errors'TRUE); // Error logging

ini_set('error_log''./errors.log'); // Logging file

ini_set('log_errors_max_len'1024); // Logging file size 

بعد ببین خطای اصلی چی هست

ممنون
قرار دادم اما هیچ فرقی در ارور نداشت و همون ارور قبل رو داد


RE: ارور mysqli_fetch_array() expects parameter 1 to be mysqli_result - Y.P.Y - ۱۳۹۷ دى ۲۹

اینه: چون این شرط if(isset($_POST['btn'])) برقرار نشده
^
برای همین متغیر row تعریف نمیشه
پس بجای resource یک null وارد تابع mysqli_fetch_array میشه