Jump to content

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null give


jose

Recommended Posts

I have a problems with this script: I get this warning message: Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C.

 

I would appreciate any suggestions about how to solve it, manuals, source of information, since this message is very common. Thanks a lot in advance.

J

 

<?php
  
  require_once('connectvars.php');

  // Generate the navigation menu
  if (isset($_COOKIE['username'])) {
    echo '&#10084; <a href="viewprofile.php">View Profile</a><br />';
    echo '&#10084; <a href="editprofile.php">Edit Profile</a><br />';
    echo '&#10084; <a href="logout.php">Log Out (' . $_COOKIE['username'] . ')</a>';
  }
  else {
    echo '&#10084; <a href="login.php">Log In</a><br />';
    echo '&#10084; <a href="signup.php">Sign Up</a>';
  }

  // Connect to the database 
  $dbc = mysqli_connect('localhost', '****', '*****', '*****')
    or die ('Error connecting to MySQL server');


  // Retrieve the user data from MySQL
  $query = "SELECT user_id, first_name FROM user WHERE first_name IS NOT NULL ORDER BY join_date DESC LIMIT 5";
  $result = mysqli_query($dbc, $query);

  // Loop through the array of user data, formatting it as HTML
  echo '<h4>Latest members:</h4>';
  echo '<table>';
  while ($row = mysqli_fetch_array($row)) {     
    
    if (isset($_SESSION['user_id'])) {
      echo '<td><a href="viewprofile.php?user_id=' . $row['user_id'] . '">' . $row['first_name'] . '</a></td></tr>';
    }
    else {
      echo '<td>' . $row['first_name'] . '</td></tr>';
    }
  }
  echo '</table>';

  mysqli_close($dbc);
?>

 

 

Yes, it is one of the most common mysql related errors. It generally means that your query failed.

 

However, in your case it is because you used the wrong variable name in the mysqli_fetch_array() function call. Did you look at the line of code producing the error and attempt to see what was wrong with the parameter you were passing it?

I guess you meant to do the following:

 

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

 

instead of this

while ($row = mysqli_fetch_array($row)) { 

 

$result should be passed to the function mysqli_fetch_array instead of the $row

 

Thank you guys for your help.

 

The eventual solution is this:

 

// Retrieve the user data from MySQL
  $query = "SELECT user_id, first_name FROM user WHERE first_name IS NOT NULL ORDER BY join_date DESC LIMIT 5";
  $result = mysqli_query($dbc, $query);

  // Loop through the array of user data, formatting it as HTML
  echo '<h4>Latest members:</h4>';
  echo '<table>';
while ($row_cnt = $result->num); {  

 

The old script is

// Retrieve the user data from MySQL
  $query = "SELECT user_id, first_name FROM user WHERE first_name IS NOT NULL ORDER BY join_date DESC LIMIT 5";
  $result = mysqli_query($dbc, $query);

  // Loop through the array of user data, formatting it as HTML
  echo '<h4>Latest members:</h4>';
  echo '<table>';
  while ($row = mysqli_fetch_array($row)) {     

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.