¿Cómo seleccionar un número desconocido de columnas en mysql?

Dada la tabla y los nombres de algunas columnas, tengo la siguiente consulta de selección de esquema de información.

SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = 'm_college' AND `TABLE_NAME` = 'm_fee' AND COLUMN_NAME NOT IN ('id', 'classid', 'semid') 

Pero esta selección no me da el valor de las filas para cada columna desconocida que selecciono. Todo lo que obtuve son nombres de las columnas desconocidas. ¿Es posible seleccionar los valores de las filas para que pueda tener la columna como clave y las filas como par de valores en mi script php? Necesito insertar los nombres de las columnas y los valores de las filas en otra tabla. Por favor ayuda o sugiera

    A continuación se muestra un bash muy rápido de mostrar una tabla de intersección.

    Esto le permite tener una estructura fija y agregar tipos de tarifas sobre la marcha.

     CREATE TABLE IF NOT EXISTS `mz_fee222` ( `id` int(11) NOT NULL AUTO_INCREMENT, `classid` int(11) NOT NULL, `semid` int(11) NOT NULL, `batch` year(4) NOT NULL, `session` int(11) NOT NULL ); create table fee_type ( fee_id int auto_increment primary key, description varchar(100) ); insert fee_type (description) values ('exam'),('marksheet'),('admitcard'),('centre'),('practical'); -- etc as you go create table mz_fee_intersect ( -- here is where the fee amount is stored. Flexible. id int auto_increment primary key, mz_id int not null, -- this is the id from my_fee222 table fee_id int not null, -- this is the fee_id from fee_type table fee int not null, -- here is the actual fee, like 100 bucks -- FK's below (not shown): -- unique key (mz_id,fee_id) -- forbids duplicates ); 

    SELECT * FROM table_name selecciona todas las columnas y sus valores de table_name . Lo que está utilizando selecciona todos los nombres de columna de la tabla de esquema (que no contiene la información en su table_name ).

    Puede usar SELECT * FROM table_name en PHP y simplemente use mysqli_fetch_assoc para obtener una matriz asociativa que es básicamente una matriz key => value array donde la key es el nombre de la columna y el value es el valor para esa columna en la fila dada en la matriz .

    Tiró del directorio de los documentos PHP ( http://php.net/manual/en/mysqli-result.fetch-assoc.php ) porque quería un ejemplo:

     connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } $query = "SELECT * FROM table_name"; if ($result = $mysqli->query($query)) { /* fetch associative array */ while ($row = $result->fetch_assoc()) { printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]); } /* free result set */ $result->free(); } /* close connection */ $mysqli->close(); ?> 

    Ok, no puedo pensar por qué tienes una tabla que agrega dinámicamente columnas distintas de las obvias, pero aquí hay una sugerencia que espero que ayude.

    Si ejecuta un nombre de DESCRIBE tablename y recoge los resultados obtiene un resultado como este.

     Field Type Null Key Default Extra id int(10) unsigned NO PRI NULL auto_increment parent_id int(11) NO MUL 0 lft int(11) NO MUL 0 rgt int(11) NO 0 level int(10) unsigned NO NULL name varchar(50) NO UNI NULL title varchar(100) NO NULL rules varchar(5120) NO NULL 

    Si carga esto en una matriz y luego suelta las Filas que no desea seleccionar en la consulta posterior, obtendrá sus nombres de columna (en la columna Campo) e incluso sus tipos de datos si los quiere.

    A continuación, puede usar esta matriz para crear la lista de campos para su consulta específica de columna y también sabe cómo llamarlos cuando está procesando los resultados.

    Espero que esto ayude.