以下代码从table获取所有列名table_name:
$mysqli = new mysqli('localhost', 'USERNAME_HERE', 'PASSWORD_HERE', 'DATABASE_HERE');
$sql = 'SHOW COLUMNS FROM table_name';
$res = $mysqli->query($sql);
while($row = $res->fetch_assoc()){
$columns[] = $row['Field'];
}
Run Code Online (Sandbox Code Playgroud)
由于我有表中的列id,name因此结果如下:
Array
(
[0] => id
[1] => name
)
Run Code Online (Sandbox Code Playgroud)
如果要从结果集中获取列,则要视情况而定,但这是一种实现方法:
$mysqli = new mysqli('localhost', 'USERNAME_HERE', 'PASSWORD_HERE', 'DATABASE_HERE');
$sql = 'SELECT * FROM table_name';
$res = $mysqli->query($sql);
$values = $res->fetch_all(MYSQLI_ASSOC);
$columns = array();
if(!empty($values)){
$columns = array_keys($values[0]);
}
Run Code Online (Sandbox Code Playgroud)
结果示例$columns:
Array
(
[0] => id
[1] => name
)
Run Code Online (Sandbox Code Playgroud)
结果示例$values:
Array
(
[0] => Array
(
[id] => 1
[name] => Name 1
)
[1] => Array
(
[id] => 2
[name] => Name 2
)
)
Run Code Online (Sandbox Code Playgroud)
您可以使用 array_keys() 获取数组的所有键,
$myarray = array('key1' => 'a', 'key2' => 'b')
$x = array_keys($myarray);
Run Code Online (Sandbox Code Playgroud)
你想要的结果可以从 $x 中得到
$x = array(0 => 'key1', 1 => 'key2');
Run Code Online (Sandbox Code Playgroud)
为了获取表的列名,
$sql = "SELECT * FROM table_name LIMIT 1";
$ref = $result->query($sql);
$row = mysqli_fetch_assoc($ref);
$x = array_keys($row);
Run Code Online (Sandbox Code Playgroud)
现在 $x 数组包含表的列名
| 归档时间: |
|
| 查看次数: |
20090 次 |
| 最近记录: |