将PHP与MySQL数据库一起使用,如果我不知道列是什么,如何从一行中选择所有内容?

I have a table but I dont know what the columns are except for 1 column. There is only 1 permanent data value for each row, the rest of the columns are added and removed elsewhere. This isnt a problem for the query, i just do:

SELECT * FROM table

but for the php function bind_result() i need to give it variables for each column, which i do not know.

I think that once I have the columns in an array, I can do anther query and use call_user_func_array to bind the result to the array.

This seems like it would come up a lot so im wondering is there a standard way of doing this?

You could do

show columns from table;

And then parse that string to grab your column names.

You can also try the describe command, which is used to list all of the fields in a table and the data format of each field. Usage:

describe TableName;

you can use

$metadata = $prep_statement->result_metadata()

after you executed the statement and then loop through all result fields using something like

while( $field = $metadata->fetch_field() ) { }

the properties of $field are documented here: http://www.php.net/manual/en/mysqli-result.fetch-field.php

Couldn't you just do:

$result = mysql_query("SELECT * FROM table");

while ($row = mysql_fetch_assoc($result)) 
{
    foreach ($row as $field => $value)
    {
       ...
    }
}