Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal boa noite.
Não consigo trazer os usuários cadastrados no banco através desse select abaixo, alguém pode me ajudar?
tr>
<td align="left" bgcolor="#999999">
<font face="verdana" size="1"><b> AGENTE</b></font>
</td>
<td class="bar-search" align="left" bgcolor="#999999">
<?
//PDO - Biblioteca de conexão a um banco de dados
$dsn = "mysql:dbname=blog;host=localhost";
$dbuser = "root";
$dbpass = "081232";
try {
$pdo = new PDO($dsn, $dbuser, $dbpass);
$sql = "SELECT * FROM usuarios WHERE nivel='usuarios' ORDER BY nome ASC";
$sql = $pdo->query($sql);
} catch (PDOException $e){
echo "Falhou: ".$e->getMessage();
}
?>
<select >
<option>Selecione...</option>
<?php while ($row = mysql_fetch_assoc($sql)) {?>
<option value="<?php echo $row['nome']; ?>"></option>
<?php } ?>
</select>
</td>
</tr>tente assim:
1. comente (ou apague) essa linha:
>
Citar
$sql = $pdo->query($sql);
2. essa linha:
>
Citar
<?php while ($row = mysql_fetch_assoc($sql)) {?>
troque por essa (não use funções mysql*):
foreach ($pdo->query($sql) as $row) {
3. o padrão é que um "select" exiba nomes e passe um valor; assim se a tabela tiver uma chave primaria chamada id, você poderia montar o select assim:
<option value="<?php echo $row['id']; ?>"><?php echo $row['nome']; ?></option>
4. seria recomendavel abrir o codigo com a tag completa:
<?php
http://php.net/manual/pt_BR/pdo.query.php>
3 horas atrás, Fernando C disse:
>
4 horas atrás, Fernando C disse:
Resolvido.
Olá!
Talvez seja porque você está misturando mysql_* com PDO.
Não tenho certeza, mas o $pdo->query($sql) deve retornar um PDO Object
Então, você vai precisar usar o fetch do próprio PDO.
Aliás... as extensões mysql_* foram completamente retiradas do php desde a versão 7.0