Запрос либо не возвращал строк, либо был ошибочным, поэтому возвращается FALSE
. Измените его на
if (!$dbc || mysqli_num_rows($dbc) == 0)
mysqli_num_rows
:
Возвращаемые значения
Возвращает TRUE при успешном завершении или FALSE при сбое. Для SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект результата.
blockquote>
Сортировка вставки может выглядеть так:
structRecipe R, tR, *pR[2];
int x, written=0;
pR[0]=&R;
pR[1]=&tR;
... fill R....
fscanf(fp, "%c", &ch);
fseek(fp2, 0, SEEK_SET);
x=0;
for(j=0; j<written; j++) {
fread(&tR, sizeof(structRecipe), 1, fp2);
if(strcmp(R.name, tR.name)<0) {
fwrite(&R, sizeof(structRecipe), 1, fp2);
x=!x;
break;
}
}
for(; j<written; j++) {
fread(pR[!x], sizeof(structRecipe), 1, fp2);
fseek(fp2, -sizeof(structRecipe), SEEK_CUR);
fwrite(pR[x], sizeof(structRecipe), 1, fp2);
x=!x;
}
fwrite(pR[x], sizeof(structRecipe), 1, fp2);
written++;
}
fclose(fp2);
Извините, это не проверено, только идея.