mysql e mysqli sono due diverse estensioni di php per interagire con il mysql, in base alle necessità usi una o l'altra e di conseguenza una o l'altra funzione.
Per test pre corpo si intende fare i controlli prima del codice.
Nel tuo caso usi un ciclo do...while. Tale ciclo esegue sempre almeno una volta il codice, poiché prima lo esegue, poi verifica la condizione e se è rispettata lo ripete finché non diventa false. Un ciclo for o while invece prima controllano che la condizione sia vera, e in tal caso continuano a ripetere l'esecuzione del codice finché la condizione non diventa falsa.
Il ciclo do...while lo devi usare se sei certo che almeno una volta (la prima) tu debba fare quella cosa a prescindere da qualunque controllo imporrai per le volte successive.