Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Criei uma função que faz select no banco de dados, mas não esta funcionando, porque ?
Meu código:
<?php
$conectar = mysql_connect("host","usuario","senha");
$bd = mysql_select_db("banco", $conectar);
function select($campo, $tabela) {
$query_select = mysql_query("SELECT '$campo' FROM '$tabela'");
return $query_select;
};
$exibir = select("*", "videos");
while($linha = mysql_fetch_array($exibir)) {
$id = $linha['id_videos'];
echo $id;
}
?>
ValewOlá FreitasMD, agora funcionou, valew.
Tenho outra dúvida, como pegar os nomes dos campos de uma determinada tabela e tornar um array utilizando o PHP, tipo assim:
$campo[0] = id;
$campo[1] = nome;
Os nomes dos campos serão inseridos de forma automática, se tiver 20 na tabela, ele exibe um array de 20 e assim por diante.
Valew
Acredito que o você queira é trazer objetos em vez de array ficando assim
Usuario Object
(
[nome] => Joao
[idade] => 14
)
Tudo o que voce tem que fazer para obter um resultado desses é utilizar o "mysql_fetch_obj" ao invés de "mysql_fetch_array"
Agora lembre-se que para acessar dados de objetos você usar "->", então no exemplo acima para acessar o nome você usaria:
$var->nome; e não $var['nome'];
se você quiser apenas os nomes dos campos ainda é essa linha tudo que tem que fazer é um select de uam linha só e depois usar a função array_keys [http://www.php.net/manual/pt_BR/function.array-keys.php](http://www.php.net/manual/pt_BR/function.array-keys.php) para gerar um array com as chaves do objeto que você recebeu.
abs
Olá FreitasMT.
Oque eu desejo são o array mesmo. Como eu faço para listar os campos de uma tabela em PHP ?
Valew
<?php
$conectar = mysql_connect("host","usuario","senha");
$bd = mysql_select_db("banco", $conectar);
function select($campo, $tabela) {
// fazendo query com apenas 1 linha
$query_select = mysql_query("SELECT $campo FROM $tabela LIMIT 1");
return $query_select;
};
$campos = array();
$exibir = select("*", "videos"); $campos = array_keys($linha);
}
print_r($campos);
To sem poder testar mas se errei alguma coisa é bobagem a resposta é essa ai
Valew FreitasMT
Só para organização, não seria melhor ter um campo condição?
function select($campo, $tabela, $condicao = NULL) {
$query_select = mysql_query("SELECT $campo FROM $tabela $condicao");
return $query_select;
};
$exibir = select("*", "videos", "WHERE id = 1");
// ou
$exibir = select("*", "videos", "LIMIT 1");acredito que n
>
Só para organização, não seria melhor ter um campo condição?
Acredito que é indiferente, em questão de desempenho do SQL acredito que fazer um select com "WHERE ID = " possivelmente vai ter mais desempenho mas não sou expert nisso, sei que no SQL o vilão para desempenho são as funções por isso devem ser bem empregadas mas nesse caso axo que ambos são de boa performace e vão funcionar perfeitamente a única diferença é que o WHERE você tem que setar um id que exista enquanto no LIMIT voce não necessita. abs
Sim FreitasMT, digo para acrescentar o campo na função só para organizar, se ele não setar nada vai como valor nulo. Realmente da forma que sugeri não vai alterar nada em desempenho, só organização mesmo.
na verdade ele vai trazer o primeiro registro da tabela (se entendi o que voce disse)
Não, dei os dois exemplos, um com where outro com limit. Mais se não função ele não passar o parametro, o valor vai nulo, não existindo nenhum dado após a tabela selecionada.
aqui
$query_select = mysql_query("SELECT '$campo' FROM '$tabela'");
Não existem essas apas simples
$query_select = mysql_query("SELECT $campo FROM $tabela");
voce só usa apsas para valores, nos nomes usa-se o acento agudo (´) e mesmo assim é opcional
^^