I've got a little bit of a problem when I try to run this code. I receive this error:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in

My problem is in the while statement on line 32:

$connection = mysqli_connect($host, $username, $password, $db_name);
$sql = 'SELECT * FROM provinsi';
while ($r = mysqli_fetch_array($connection, $sql)) { // line 32
    $id = $r['id'];
}
php mysql fetch 

Nov 17

1 Answers

mysqli_fetch_array()'s 1st parameter must be a result of a query. What you are doing is you are passing the connection (which doesn't make sense) and the query command itself.

Read the doc here: http://php.net/manual/en/mysqli-result.fetch-array.php

To fix this, execute the query first, then store the result to a variable then later fetch that variable.

$sql = "select * from privinsi";
$result = mysqli_query($connection,$sql);
while($r = mysqli_fetch_array($result))
{
    // your code here
}

answered May 17


Login and Submit Your Answer
Browse other questions tagged  php  mysql  fetch or ask your own question.