English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função mysqli_fetch_field() retorna o próximo campo no conjunto de resultados
O objeto de resultado do PHP (pertencente à classe mysqli_result) representa o resultado do MySQL retornado por consultas SELECT, DESCRIBE ou EXPLAIN
A função mysqli_fetch_field() tem a função de aceitar um objeto de resultado como parâmetro e retornar a próxima coluna na forma de objeto/Informações de definição do campo
mysqli_fetch_field($result);
Número de série | Parâmetros e descrição |
---|---|
1 | result(obrigatório) Este é o identificador do objeto de resultado. |
A função mysqli_fetch_field() do PHP retorna um objeto que contém as informações de definição do campo fornecido no resultado. Se não houver informações, esta função retornaráFALSE.
O objeto retornado contém os seguintes atributos:
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 - reservado como valor padrão, sempre ""
db - Banco de dados (no PHP 5.3.6 novo)
catalog - Nome do catálogo, sempre "def" (desde PHP 5.3.6 até)
max_length - Largura máxima do campo
length - Largura especificada no definição da tabela
charsetnr - Número de conjunto de caracteres do campo
flags - Marcas de bits do campo
type - Tipo de dados usado para o campo
decimais - Campo inteiro, número de casas decimais após o ponto
Esta função foi inicialmente introduzida na versão do PHP5introduzido e pode ser usado em todas as versões mais recentes.
A seguir é demonstrado um exemplo demysqli_fetch_field()Uso da função (estilo procedimental)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country 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("Inserindo registro.....\n"); //Recuperar conteúdo da tabela $res = mysqli_query($con, "SELECT * FROM myplayers"); //Obter campo while($info = mysqli_fetch_field($res)){ //Campo atual $currentfield = mysqli_field_tell($res); print("Campo atual: ".$currentfield."\n"); print("Nome do campo: ".$info->nome."\n"); print("Tipo do campo: ".$info->type."\n"); } //Fim da sentença mysqli_free_result($res); //Fechar conexão mysqli_close($con); ?>
Resultados de saída
Criar tabela..... Inserir registro..... Campo atual: 1 Nome do campo: ID Tipo do campo: 3 Campo atual: 2 Nome do campo: First_Name Tipo do campo: 253 Campo atual: 3 Nome do campo: Last_Name Tipo do campo: 253 Campo atual: 4 Nome do campo: Place_Of_Birth Tipo do campo: 253 Campo atual: 5 Nome do campo: Country Tipo do campo: 253
Na sintaxe orientada a objetos, a função é$result->fetch_field;.Aqui está um exemplo dessa função no estilo orientado a objetos;
<?php //Conectar $con = new mysqli("localhost", "root", "password", "mydb"); $con ->criar tabela Test(Name VARCHAR(255), ID INT)"); $con ->inserir em Test valores('Raju', 25),('Rahman', 30),('Sarmista', 27); print("Criar tabela.....\n"); $stmt = $con ->preparar( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt ->ligar_parametros("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Executar sentença $stmt->executar(); //Resultados da busca $result = $stmt->get_result(); //Campo atual while($info = $result->fetch_field()){ $field = $result->current_field; print("Campo atual: ".$field."\n"); print("Nome do campo: ".$info->nome."\n"); } //Fim da sentença $stmt->fechar(); //Fechar conexão $con->fechar(); ?>