I have a table which looks something like the following (first row is columns):
|section | col1 | col2 |
|----------------------|
|bananas | val | val2 |
|----------------------|
|peaches | val | val2 |
With some code to check if a section value matches up with one of the values in an array:
$sectionscope = Array('bananas', 'apples');
$sections = mysql_query("SELECT section FROM table WHERE col1=val AND col2=val2");
if (mysql_num_rows($sections)) {
$i = 0;
while ($row = mysql_fetch_array($sections)) {
if (in_array($row[$i], $sectionscope)) {
$section = $sectionscope[array_search($row[$i], $sectionscope)];
$section_is_valid = 1;
}
$i++;
}
}
If I echo the output from the while loop using echo $row[$i], it gives me: bananas
Doing the select from PHPmyadmin works fine
Can you tell me what I’m doing wrong here?
Thanks,
SystemError
Why are you incrementing
$iin the while loop. Your query will return two rows and when you loop through the results, you can access thesectionvalue using$row[0]each time.This will print
bananasandpeaches.In your code, when you enter the while loop second time, you are trying to retrieve
sectionvalue using$row[1](since your$ihas incremented to 1), which will be null since your query result only contains one column.