W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
下面這些方法用于獲取表信息。
$db->listTables();
返回一個(gè)數(shù)組,包含當(dāng)前連接數(shù)據(jù)庫的全部表名稱。例如:
$tables = $db->listTables();
foreach ($tables as $table)
{
echo $table;
}
$db->tableExists();
有時(shí)先檢查某個(gè)表是否存在再進(jìn)行操作會(huì)比較有用, 返回布爾值 TRUE/FALSE. 例如:
if ($db->tableExists('table_name'))
{
// some code...
}
注解
使用你要查找的表名替換掉 table_name
$db->getFieldNames()
返回包含字段名稱的數(shù)組,有兩種不同的調(diào)用方式:
$fields = $db->getFieldNames('table_name');
foreach ($fields as $field)
{
echo $field;
}
$query = $db->query('SELECT * FROM some_table');
foreach ($query->getFieldNames() as $field)
{
echo $field;
}
$db->fieldExists()
有時(shí)先確定某個(gè)字段是否存在再進(jìn)行操作也比較有用, 該方法返回布爾值 TRUE/FALSE。 使用示例:
if ($db->fieldExists('field_name', 'table_name'))
{
// some code...
}
注解
將 field_name 替換為你要查找的字段名, 并且將 table_name 替換為你要查找的表的名稱
$db->getFieldData()
該方法返回一個(gè)包含字段信息的對(duì)象數(shù)組。
有時(shí),收集字段名稱或相關(guān)的元數(shù)據(jù)會(huì)很有用,例如數(shù)據(jù)類型,最大長度等。
注解
并非所有的數(shù)據(jù)庫都支持元數(shù)據(jù)。
使用示例:
$fields = $db->getFieldData('table_name');
foreach ($fields as $field)
{
echo $field->name;
echo $field->type;
echo $field->max_length;
echo $field->primary_key;
}
如果你已經(jīng)進(jìn)行了查詢,則可以使用結(jié)果對(duì)象而且不用提供表名:
$query = $db->query("YOUR QUERY");
$fields = $query->fieldData();
如果你的數(shù)據(jù)庫支持,則可以用此方法獲得以下數(shù)據(jù):
$db->getIndexData()
返回一個(gè)包含索引信息的對(duì)象數(shù)組。
使用示例:
$keys = $db->getIndexData('table_name');
foreach ($keys as $key)
{
echo $key->name;
echo $key->type;
echo $key->fields; // 字段名的數(shù)組
}
根據(jù)數(shù)據(jù)庫不同 type 會(huì)有所區(qū)別。 例如,MySQL會(huì)返回 primary、fulltext、spatial、index 或 unique 其中之一, 每個(gè)(索引)關(guān)聯(lián)一張表。
$db->getForeignKeyData()
返回一個(gè)包含外鍵信息的對(duì)象數(shù)組。
使用示例:
$keys = $db->getForeignKeyData('table_name');
foreach ($keys as $key)
{
echo $key->constraint_name;
echo $key->table_name;
echo $key->column_name;
echo $key->foreign_table_name;
echo $key->foreign_column_name;
}
對(duì)象字段根據(jù)你用的數(shù)據(jù)庫會(huì)有不同,例如 SQLite3 不返回 column_name 字段,但會(huì)附加 sequence 字段用于解釋復(fù)合外鍵。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: