是否有一种方法可以在MySQL中使用PHP获取表的列名?
当前回答
我写了一个简单的php脚本,通过php获取表列: Show_table_columns.php
<?php
$db = 'Database'; //Database name
$host = 'Database_host'; //Hostname or Server ip
$user = 'USER'; //Database user
$pass = 'Password'; //Database user password
$con = mysql_connect($host, $user, $pass);
if ($con) {
$link = mysql_select_db($db) or die("no database") . mysql_error();
$count = 0;
if ($link) {
$sql = "
SELECT column_name
FROM information_schema.columns
WHERE table_schema = '$db'
AND table_name = 'table_name'"; // Change the table_name your own table name
$result = mysql_query($sql, $con);
if (mysql_query($sql, $con)) {
echo $sql . "<br> <br>";
while ($row = mysql_fetch_row($result)) {
echo "COLUMN " . ++$count . ": {$row[0]}<br>";
$table_name = $row[0];
}
echo "<br>Total No. of COLUMNS: " . $count;
} else {
echo "Error in query.";
}
} else {
echo "Database not found.";
}
} else {
echo "Connection Failed.";
}
?>
享受吧!
其他回答
如果你喜欢的话,还有这个:
mysql_query('SHOW COLUMNS FROM tableName');
我需要列名作为平面数组,而其他答案返回关联数组,所以我使用:
$con = mysqli_connect('localhost',$db_user,$db_pw,$db_name);
$table = 'people';
/**
* Get the column names for a mysql table
**/
function get_column_names($con, $table) {
$sql = 'DESCRIBE '.$table;
$result = mysqli_query($con, $sql);
$rows = array();
while($row = mysqli_fetch_assoc($result)) {
$rows[] = $row['Field'];
}
return $rows;
}
$col_names = function get_column_names($con, $table);
$col_names现在等于:
(
[0] => name
[1] => parent
[2] => number
[3] => chart_id
[4] => type
[5] => id
)
$col = $db->query("SHOW COLUMNS FROM category");
while ($fildss = $col->fetch_array())
{
$filds[] = '"{'.$fildss['Field'].'}"';
$values[] = '$rows->'.$fildss['Field'].'';
}
if($type == 'value')
{
return $values = implode(',', $values);
}
else {
return $filds = implode(',', $filds);
}
这对我很有效。
$sql = "desc MyTableName";
$result = @mysql_query($sql);
while($row = @mysql_fetch_array($result)){
echo $row[0]."<br>";
}
调查:
mysql_query('DESCRIBE '.$table);
推荐文章
- 如何使用MySQL DECIMAL?
- 修改表:如何将“允许空”属性从不空改为允许空
- 使用PHP加密和解密密码的最佳方法是什么?
- 比较两个SQL Server数据库(模式和数据)的最佳工具是什么?
- 如何实现一个好的脏话过滤器?
- 在SQL中,如何在范围中“分组”?
- PHP中的三个点(…)是什么意思?
- Guzzlehttp -如何从guzzle6得到响应的正文?
- 选项(RECOMPILE)总是更快;为什么?
- 移动一个文件到服务器上的另一个文件夹
- 设置数据库从单用户模式到多用户
- Laravel中使用雄辩的ORM进行批量插入
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- PHP 5.4调用时引用传递-容易修复可用吗?
- 警告用户/local/mysql/data目录不属于mysql用户