Ir para o conteúdo
alves077

[Dúvida] include + função

Mensagens Recomendadas

alves077

Boa tarde,

Quando fazemos um include em php de um ficheiro logo no começo do script ele é acessível ao longo de todo o script?

Isto é, os dados desse include também chegam a funções que são criadas posteriormente dos includes?

Tenho um include num script, com a ligação a Base de Dados, com mysqli, não conseguia fazer query dentro de uma função criada posteriormente, agora que vejo que se colocar o include dentro da função funciona..

A minha dúvida é basicamente é como funciona o include e as função no php?

Obrigado pela atenção,

alves077

Editado por alves077

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais

http://php.net/manual/en/function.include.php

&

As funções, em php, são declaradas qd o parser chega a elas. Podes ter uma chamada para essa função antes de, no código, aonde ela está declarada (falo por experiência).


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Devexz

sim, quando se faz include de um ficheiro todas as variáveis ficam disponíveis, no entanto o problema que tens suponho que não seja esse.

Exemplo:

dbconnect.php

$con = código de lligação à bd;
$outraVariavelQualquer = 7;

Index.php

include 'dbconnect.php';

echo "valor da variavel: $outraVariavelQualquer"; // vai mostrar 7

//fazer query
mysqli_query("inserir", $con); // isto vai funcionar.



function fazerQuery() {

mysqli_query("inserir", $con); // não vai funcionar
echo $outraVariavelQualquer; // nem isto
}






function outraFunction() {
global $con, $outraVariavelQualquer;

mysqli_query("inserir", $con); // rock n roll
echo $outraVariavelQualquer; // rock n roll

}

fazerQuery(); // nada

outraFunction(); It works.

Presumo que estejas a fazer a query dentro da função logo não tens disponível a ligação à bd.

Editado por Rui Carlos

Ás vezes, mais vale deixar a assinatura em branco.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alves077

Exato... o problema era mesmo esse. Por acaso não fazia ideia que o php fazia isso. Declara as funções antes do include logo não consigo lá chegar. Tenho que fazer global. Ok acho que percebi a ideia..

Obrigado pela ajuda,

alves077

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.