
Question:
I'm using the code below to return and echo an array. If I define ' mysqli_fetch_array($results, MYSQLI_BOTH) ' then my array is truncated by one result. The 1st result in the array drops off the list. If I remove the MYSQLI_BOTH then I get the results that I expect, but my hosting company (Dreamhost) throws this error:
Warning: mysqli_fetch_array() [function.mysqli-fetch-array]: The result type should be either MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH in /blah/blah/blah.co.uk/index.php on line 14
what I really want is to use mysqli_fetch_array($results, 0) so that I catch all of the results, but do not get this error message.
Thanks for any and all help.
CODE:
$dbc = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die('This is the die connect error');
$query = "SELECT DISTINCT continent FROM tour"; $result = mysqli_query($dbc, $query) or die('This is the die query error'); $row = mysqli_fetch_array($result, MYSQLI_BOTH); // was ($result, 0) to start at 0, now in error, starts at 1 missing results while($row = mysqli_fetch_array($result)) { echo '<a href="country.php?continent=' . $row['continent'] . '">' . $row['continent'] . "</a><br />\n"; } mysqli_close($dbc);
Solution:1
The difference in those parameters is only in how the array will be defined.
MYSQLI_NUM
= Array items will use a numerical index key.MYSQLI_ASSOC
= Array items will use the column name as an index key.MYSQLI_BOTH
= Array items will be duplicated, with one having a numerical index key and one having the column name as an index key.
You're not losing results.
You are however fetching twice before outputting, which meant you were skipping a row... do it like this:
$query = "SELECT DISTINCT continent FROM tour"; $result = mysqli_query($dbc, $query) or die('This is the die query error'); while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { echo '<a href="country.php?continent=' . $row['continent'] . '">' . $row['continent'] . "</a><br />\n"; } mysqli_close($dbc);
Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
EmoticonEmoticon