English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico PHP

Tutorial avançado PHP

PHP & MySQL

Manual de referência PHP

Uso e exemplo da função PHP mysqli_fetch_field_direct()

   PHP MySQLi Referência

A função mysqli_fetch_field_direct() obtém metadados de um campo único

Definição e uso

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.

Sintaxe

mysqli_fetch_field_direct($result, $field);

Parâmetro

Número de sérieParâ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.

Valor retornado

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

Versão do PHP

Essa função foi introduzida pela primeira vez na versão do PHP5introduzido e pode ser usado em todas as versões mais altas.

Exemplo online

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

Exemplo online

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

PHP MySQLi Referência