gpt4 book ai didi

PHP获取mysql表信息函数

转载 作者:行者123 更新时间:2023-11-29 02:31:34 25 4
gpt4 key购买 nike

我正在制作一个 PHP 函数来返回一个 mysql 数据库表信息的数组。我是 php 编码的新手,正在寻找更有效的方法来做我做过的同样的事情,因为我的方法似乎效率不高。这是使用 mysql 连接语句的好地方吗?

这是我的功能。

public static function getAllTables()
{
// Get an array of all the tables in the database
$sql = "SHOW TABLES";

//this makes a connection to mysql database using mysqli
$mysqlConnection = new CMySqlConnection();
$result = $mysqlConnection->mysqli->query($sql);
$tablesArray = array();
while($row = $result->fetch_row()) {

$tablesArray[$row[0]]=array();

}

$result->close();

//Get an array of all the table names in database
$arrayKeys = array_keys($tablesArray);

//foreach table get the column's info
foreach($arrayKeys as $key){
$sql=" SHOW COLUMNS from " . $key;
$result = $mysqlConnection->mysqli->query($sql);
for($i = 0; $row = $result->fetch_row(); $i++) {

//format the array to use a descriptive key rather than a number
$row['columnName'] = $row[0];
$row['type'] = $row[1];
$row['null'] = $row[2];
$row['key'] = $row[3];
$row['default'] = $row[4];
$row['extra'] = $row[5];

unset($row[0]);
unset($row[1]);
unset($row[2]);
unset($row[3]);
unset($row[4]);
unset($row[5]);

// put the column info into the tables array
$tablesArray[$key][$i] = $row;
}
$result->close();
}


$mysqlConnection->Disconnect();

// return the tables array
return $tablesArray;
}

感谢任何输入:)

最佳答案

您可以只查询 INFORMATION_SCHEMA。它们是包含有关您的数据库的信息的虚拟表:http://dev.mysql.com/doc/refman/5.5/en/information-schema.html

SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES;

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='schema' AND TABLE_NAME='table';

关于PHP获取mysql表信息函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12440119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com