我有一张桌子,但我不知道列是什么,除了1列。每行只有1个永久数据值,其余列在其他地方添加和删除。这不是查询的问题,我只是这样做:
SELECT * FROM table
但对于php函数bind_result(),我需要为每列提供变量,我不知道。
我认为一旦我在数组中有列,我就可以进行另一个查询并使用call_user_func_array将结果绑定到数组。
这似乎会出现很多,所以我想知道有没有一种标准的方法来做到这一点?
答案 0 :(得分:2)
你不能这样做:
$result = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_assoc($result))
{
foreach ($row as $field => $value)
{
...
}
}
答案 1 :(得分:0)
你可以做到
show columns from table;
然后解析该字符串以获取列名。
答案 2 :(得分:0)
您还可以尝试describe
命令,该命令用于列出表中的所有字段以及每个字段的数据格式。用法:
describe TableName;
答案 3 :(得分:0)
你可以使用
$metadata = $prep_statement->result_metadata()
执行语句后,然后使用类似
的循环遍历所有结果字段while( $field = $metadata->fetch_field() ) { }
$ field的属性记录在此处:http://www.php.net/manual/en/mysqli-result.fetch-field.php