English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função mysqli_fetch_field_direct() obtém metadados de um campo único
Objeto de resultado PHP (classe mysqli_result) representa o resultado MySQL, retornado por consultas SELECT ou DESCRIBE ou EXPLAIN.
A função mysqli_fetch_field_direct() aceita um objeto de resultado e um inteiro que representa o número do campo e retorna o campo especificado na forma de um objeto./Informações de definição do campo.
mysqli_fetch_field_direct($result, $field);
Número de série | Parâmetros e descrições |
---|---|
1 | result(obrigatório) Este é o identificador do objeto de resultado representativo. |
2 | field(obrigatório) Um valor inteiro que representa o campo metadata que você precisa/Campos de informações de definição. |
A função PHP mysqli_fetch_field_direct() retorna um objeto que contém informações de definição do campo especificado. Se o campo especificado (número) não estiver disponível, esta função retornaFALSE.
O objeto retornado contém as seguintes propriedades:
name - Nome da coluna
orgname - Nome original da coluna (se foi especificado um alias)
table - Nome da tabela
orgtable - Nome original da tabela (se foi especificado um alias)
def - Valor padrão deste campo
max_length - Largura máxima do campo
length - Largura do campo especificada na definição da tabela
charsetnr - Número do conjunto de caracteres do campo
flags - Marcadores de bits do campo
type - Tipo de dados usado para o campo
decimais - Campo inteiro, número de casas decimais após o ponto
Essa função foi introduzida pela primeira vez na versão do PHP5introduzido e pode ser usado em todas as versões mais altas.
A seguir é um exemplo que demonstramysqli_fetch_field_direct()Uso da função (estilo procedimental), que retorna os metadados de um terceiro campo (coluna) do conjunto de resultados e exibe o nome do campo, o nome da tabela, o comprimento máximo, o tipo de dados e o número de conjunto de caracteres do campo:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Primeiro_Nome VARCHAR(255), Sobrenome VARCHAR(255), Local_de_Nascimento VARCHAR(255), País VARCHAR(255))"); print("Criar tabela.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'South Africa')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"); print("Inserir registro.....\n"); //Procurar o conteúdo da tabela $res = mysqli_query($con, "SELECT * FROM myplayers"); //Obter o3metadados de um campo $info = mysqli_fetch_field_direct($res, 2); print("Nome: ").$info->nome."\n"); print("Tabela: ").$info->tabela."\n"); print("Máximo de Tamanho: ").$info->max_length."\n"); print("Bandeiras: ").$info->flags."\n"); print("Tipo: ").$info->type."\n"); print("Definição: ").$info->def."\n"); print("Conjunto de Caracteres: ").$info->charsetnr."\n"); //Terminar instrução mysqli_free_result($res); //Fechar conexão mysqli_close($con); ?>
Resultados de Saída
Criar tabela..... Inserir registro..... Nome: Last_Name Tabela: myplayers Comprimento Máximo: 10 Flags: 0 Tipo: 253
No estilo orientado a objetos, a sintaxe dessa função é:$result-fetch_field_direct();。Aqui está a função em estilo orientado a objetos, que retorna os metadados de um segundo campo (coluna) do conjunto de resultados e exibe o nome do campo, o nome da tabela, o comprimento máximo, o tipo de dados e o número de conjunto de caracteres do campo:
<?php //Conectar $con = new mysqli("localhost", "root", "password", "mydb"); $con -> criarTabela('Test(Name VARCHAR(255), AGE INT); $con -> inserir('Raju', 25),('Rahman', 30),('Sarmista', 27); print("Criar tabela.....\n"); $stmt = $con -> preparar("SELECT * FROM Test WHERE Nome in(?, ?)"); $stmt -> ligar_parametros("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Executar instrução $stmt->executar(); //Resultados de busca $result = $stmt->obterResultado(); //Obter metadados do segundo campo $info = $result->recuperarCampoDireto(1); print("Nome: ").$info->nome."\n"); print("Tabela: ").$info->tabela."\n"); print("Máximo de Tamanho: ").$info->max_length."\n"); print("Bandeiras: ").$info->flags."\n"); print("Tipo: ").$info->type."\n"); print("Definição: ").$info->def."\n"); print("Conjunto de Caracteres: ").$info->charsetnr."\n"); //Terminar instrução $stmt->fechar(); //Fechar conexão $con->fechar(); ?>
Resultados de Saída
Criar tabela..... Nome: AGE Tabela: Test Máximo de Tamanho: 0 Bandeiras: 32768 Tipo: 3 Definição: Conjunto de Caracteres: 63