Bueno, pues por si a alguien le sirve en un futuro, lo he solucionado así:
Código:
$todoscampos = mysql_query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA. COLUMNS WHERE TABLE_NAME = 'usuarios' AND COLUMN_NAME != 'usuario'");
if ($rowcampos = mysql_fetch_array($todoscampos)) {
$num_campos = 0;
do {
$nombrecampo = $rowcampos["COLUMN_NAME"];
$camponull2 = mysql_query("SELECT `$nombrecampo` FROM `usuarios` WHERE usuario = '$usuario'");
$camponull = mysql_result($camponull2,0,0);
if ($camponull != "") {
$num_campos++;
}
} while ($rowcampos = mysql_fetch_array($todoscampos));
}
Lo he hecho así porque el nombre de columnas es variable y crece y decrece según un sistema de registro anterior, en el que puedes elegir qué campos registrar y demás y si no existe pues hace un ALTER TABLE y demás... entonces al no saber exactamente los campos que pueden haber en un momento dado, tenía que contar el nº de columnas para un registro ...
Saludos!