Предупреждение: mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, boolean задан в C: \ xampp \ htdocs \ xyz \ userpanel.php в строке 71

У меня есть некоторая ошибка, когда я хочу показать свои данные панели пользователя. Как я могу исправить проблему? Специально под этой строкой:

while( $row = mysqli_fetch_assoc( $result ) ){ 

Моя база данных подключена, но она не может получить результаты. Мой полный код панели пользователя, показанный ниже:

 <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="css/style.css"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>User Panel</title> <link rel="stylesheet" href="assets/demo.css"> <link rel="stylesheet" href="assets/form-labels-on-top.css"> </head> <body> <header> <h1 align="center"><b>User Information Details</b></h1></br> </header> <?php $hostName="localhost"; $dbUsername="root"; $dbPassword=""; $dbName="xyz"; mysql_connect($hostName,$dbUsername,$dbPassword) or die("Connection failed"); mysql_select_db($dbName) or die("Database name doesn't exist"); //session_start(); //include('user_login_check.php'); $db = new mysqli('localhost','root','','xyz'); $sql = "SELECT * FROM user_information WHERE user_id='12"; $result = $db->query($sql); //$result= mysql_query("SELECT * FROM user_information WHERE user_name ='hello12' and user_password='hello12'"); //$result= mysql_query("SELECT * FROM user_information WHERE user_name = '".$_SESSION['user_name']."' and user_password = '".$_SESSION['user_password']."' ")or die(mysql_error()); //$result= mysql_query("SELECT * FROM user_information WHERE user_id = '".$_SESSION['id']."' ")or die(mysql_error()); ?> <form> <table border="5" style= "background-color: #333333; color: #FFF; margin: 0 auto; padding:100px" > <thead> <tr> <th>User ID</th> <th>User Type</th> <th>User Name</th> <th>User Country</th> <th>User Email</th> <th>User Phone</th> <td>User Address</td> <td>User Password</td> <td>User Status</td> <td>Edit</td> </tr> </thead> <tbody> <?php while( $row = mysqli_fetch_assoc( $result ) ){ echo "<tr> <td>{$row['user_id']}</td> <td>{$row['user_type']}</td> <td>{$row['user_name']}</td> <td>{$row['user_country']}</td> <td>{$row['user_email']}</td> <td>{$row['user_phone']}</td> <td>{$row['user_address']}</td> <td>{$row['user_password']}</td> <td>{$row['user_status']}</td> <td><a href=\"edit.php?id={$row['user_id']}\"><img src='image/editicon.jpeg'/></a></td>; </tr>\n"; } ?> </tbody> <div align="left" style="background:#333333"> <h1><input type="button" value="Log Out" onClick="window.location.href='logout_user.php'" /> </h1> </div> </table> </form> </body> </html> 

Как вы можете проверить, что ваш запрос неверен, есть дополнительные ' в том месте». Вам нужно изменить свой запрос, как показано ниже.

 $sql = "SELECT * FROM user_information WHERE user_id='12"; 

в

 $sql = "SELECT * FROM user_information WHERE user_id=12"; OR $sql = "SELECT * FROM user_information WHERE user_id='12'" 

используйте функции mysqli_ * вместо функций mysql_ *.

 $con = mysqli_connect('localhost','root','','xyz'); $sql="SELECT * FROM user_information WHERE user_id=12"; $result=mysqli_query($con,$sql); if($result){ while( $row = mysqli_fetch_assoc($result) ){ } } 

Вы можете использовать приведенную ниже строку вместо своего состояния.

 while($row = @mysqli_fetch_assoc($result)){ ..... } 

Надеюсь, это поможет вам.