Array
(
)

Select usando PDO

PHP
Helio Junior
   - 15 out 2013

Ola pessoal, estou tentando efetuar uma consulta utilizando PDO.
O select seria da seguinte forma,
No form tem um List que contem os nomes dos campos da tabela e um input que deve ser informado o valor da busca.
Estou tentando utilizar da seguinte forma:
#Código$sql = "SELECT * FROM qd_usuarios WHERE :bus_campo LIKE :bus_valor";
$buscar = $pdo->prepare($sql);
$buscar->bindColumn(':bus_campo', $campo_bus, PDO::PARAM_STR);
$buscar->bindValue(':bus_valor', "%$valor_bus%", PDO::PARAM_STR);
$buscar->execute();


mas não esta dando certo.
Alguém pode me ajudar?

Leandro_richard
   - 23 out 2013

Boa tarde Helio,
Poderia postar o código do seu form também ?

Helio Junior
   - 02 nov 2013

Codigo do Form.:
#Código<form name="buscar_jogadores" id="buscar_jogadores" action="/qd_admin/perguntas/bus/jogadores.html" method="get" enctype="application/x-www-form-urlencoded" lang="pt">
<table style="text-align: left; width: 980px;" border="0" cellpadding="0" cellspacing="0">

<tr>
<td style="text-align: left; width: 240px;" >
<label for="campo">Campo</label>
<select name="campo">
<option value="id">ID</option>
<option value="codigo">Código</option>
<option value="nome">Nome</option>
<option value="quizname">Quizname</option>
<option value="cpf">CPF</option>
<option value="data_nascimento">Dt. Nasc.</option>
<option value="cidade">Cidade</option>
<option value="estado">estado</option>
<option value="cep">CEP</option>
<option value="email">E-mail</option>
</select>
</td>
<td style="text-align: left; width: 700px;" >
<span>Texto:</span> <input name="valor" type="text" size="50" /></td>
<td style="text-align: left; width: 10px;" > </td>
</tr>
<tr>
<td style="text-align: center; width: 700px;" colspan="3"><button id="btnBuscar" value="buscar" name="buscar">Buscar</button></td>
</tr>
</table>
</form>


Cogido que recebe do Form.:
#Código$valor_bus = $_GET['valor'];
$campo_bus = $_GET['campo'];

$sql_bus_jogador_pg = "SELECT * FROM qd_usuarios WHERE :campo_a LIKE :valor_a";
try {
$tod_buscar_jogador_pg = $pdo->prepare($sql_bus_jogador_pg);
$tod_buscar_jogador_pg->bindValue(':campo_a', $campo_bus, PDO::PARAM_STR);
$tod_buscar_jogador_pg->bindValue(':valor_a', "%$valor_bus%", PDO::PARAM_STR);
$tod_buscar_jogador_pg->execute();
$total_jogadores = $tod_buscar_jogador_pg->rowCount();

$quantidade_bus = 20;
$pagina_bus = (isset($_GET['pagina']) ? (int) $_GET['pagina'] : 1);
$inicio_bus = ($quantidade_bus * $pagina_bus) - $quantidade_bus;

$sql_bus_jogador = "SELECT * FROM qd_usuarios WHERE :bus_campo LIKE :bus_valor";

try {
$totalPagina = ceil($total_jogadores / $quantidade_bus);

$tod_buscar_jogador = $pdo->prepare($sql_bus_jogador);
$tod_buscar_jogador->bindColumn(':bus_campo', $campo_bus, PDO::PARAM_STR);
$tod_buscar_jogador->bindValue(':bus_valor', "%$valor_bus%", PDO::PARAM_STR);
$tod_buscar_jogador->execute();

echo $campo_bus.'<br>';
echo $valor_bus.'<br>';
echo $tod_buscar_jogador->rowCount();
if ($tod_buscar_jogador->rowCount() > 0) {
$smt->assign("res_Buscar", "mostra_busca");
echo "teste";
while ($arr_quest = $tod_buscar_jogador->fetch()) {
$resId[] = $arr_user['id'];
$resNome[] = $arr_user['nome'];
$resQuizname[] = $arr_user['quiz_name'];
$resQuizname1[] = $arr_user['quiz_name_1'];
$resQuizname2[] = $arr_user['quiz_name_2'];
$resQuizname3[] = $arr_user['quiz_name_3'];
$resQuizname4[] = $arr_user['quiz_name_4'];
$resQuizname5[] = $arr_user['quiz_name_5'];
$resEmail[] = $arr_user['email'];
$resDataCad[] = $arr_user['dt_cadastro'];
$resCPF[] = $arr_user['cpf'];
$resNascimento[] = $arr_user['dt_nascimento'];
$resRua[] = $arr_user['rua'];
$resNumero[] = $arr_user['numero'];
$resBairro[] = $arr_user['bairro'];
$resCidade[] = $arr_user['cidade'];
$resEstado[] = $arr_user['estado'];
$resCEP[] = $arr_user['cep'];
$resFone[] = $arr_user['fone'];
$resCreditos[] = $arr_user['creditos'];
$resStatus[] = $arr_user['status'];
}
$smt->assign("resId", $resId);
$smt->assign("resNome", $resNome);
$smt->assign("resQuizname", $resQuizname);
$smt->assign("resQuizname1", $resQuizname1);
$smt->assign("resQuizname2", $resQuizname2);
$smt->assign("resQuizname3", $resQuizname3);
$smt->assign("resQuizname4", $resQuizname4);
$smt->assign("resQuizname5", $resQuizname5);
$smt->assign("resEmail", $resEmail);
$smt->assign("resDataCad", $resDataCad);
$smt->assign("resCPF", $resCPF);
$smt->assign("resNascimento", $resNascimento);
$smt->assign("resPaginacao", $paginacao);
$smt->assign("resRua", $resRua);
$smt->assign("resNumero", $resNumero);
$smt->assign("resBairro", $resBairro);
$smt->assign("resCidade", $resCidade);
$smt->assign("resEstado", $resEstado);
$smt->assign("resCEP", $resCEP);
$smt->assign("resFone", $resFone);
$smt->assign("resCreditos", $resCreditos);
$smt->assign("resStatus", $resStatus);
}
} catch (PDOException $erroBusca) {
echo 'erro ao buscar:' . $erroBusca->getMessage();
}
} catch (PDOException $erroBusca) {
echo 'erro ao buscar:' . $erroBusca->getMessage();
}


Tem alguns detalhes ai que é o Smarty Template.

Adilson
   - 08 dez 2015

Alguem me ajuda a usar o PDO no codigo abaixo???

#Código<?php // Verifica se existe a variável txtnome
if (isset($_GET["txtnome"])) { $nome = $_GET["txtnome"];
// Conexao com o banco de dados
$server = "localhost";
$user = "root";
$senha = "";
$base = "teste";
$conexao = mysql_connect($server, $user, $senha) or die("Erro na conexão!");
mysql_select_db($base);
// Verifica se a variável está vazia
if (empty($nome))
{
$sql = "SELECT * FROM contato"; }
else {
$nome .= "%"; $sql = "SELECT * FROM contato WHERE nome like '$nome'";
} sleep(1); $result = mysql_query($sql); $cont = mysql_affected_rows($conexao);
// Verifica se a consulta retornou linhas
if ($cont > 0) {
// Atribui o código HTML para montar uma tabela
$tabela = "<table border='1'>
<thead> <tr>
<th>NOME</th>
<th>TELEFONE</th>
<th>CELULAR</th>
<th>EMAIL</th>
</tr> </thead> <tbody> <tr>";
$return = "$tabela";
// Captura os dados da consulta e inseri na tabela HTML
while ($linha = mysql_fetch_array($result)) {
$return.= "<td>" . utf8_encode($linha["nome"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["fone"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["celular"]) . "</td>";
$return.= "<td>" . utf8_encode($linha["email"]) . "</td>";
$return.= "</tr>"; } echo $return.="</tbody></table>"; }
else {
// Se a consulta não retornar nenhum valor, exibi mensagem para o usuário
echo "Não foram encontrados registros!";
}
}
?>