Listando dados de maneira simples com PHP e Mysql “mysqli”

Segue forma simples para dar um select e pegar seus dados em seu banco, se quiserem dar sugestões, fiquem a vontade.

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL); 
require 'vendor/autoload.php'; // Certifique-se de que o DomPDF está instalado
// Versão: --OR--14012026--141003
use Dompdf\Dompdf;
use Dompdf\Options;
require 'db.php';

try {
    $db = Database::getInstance();
    $conn = $db->getConnection();
    if (!$conn) {
        die("Erro na conexão com o banco de dados.");
    }
} catch (Exception $e) {
    die("Erro: " . $e->getMessage());
}

// 1. Captura os dados da URL (mesma lógica do arquivo principal)
$cod_vendedor = $_GET['cod_vendedor'] ?? '';


// Para fazer um select diretamente
// Supondo que $conn já está conectado (mysqli)
// 1. Usar prepared statement para evitar SQL Injection
$sqlUser = "SELECT id, name, username, code 
            FROM `salestool_carretaosmartsul`.`users` 
            WHERE username = ?";

$stmt = mysqli_prepare($conn, $sqlUser);

if ($stmt) {
    // Vincula o parâmetro (i = integer)
    mysqli_stmt_bind_param($stmt, "i", $cod_vendedor);
    
    // Executa
    mysqli_stmt_execute($stmt);
    
    // Pega o resultado
    $result = mysqli_stmt_get_result($stmt);
    
    if ($result && $row = mysqli_fetch_assoc($result)) {
        // Agora você pode usar qualquer campo
        $nome_usuario    = $row['name'];      // Nome completo
        $username        = $row['username'];  // Login
        $codigo_usuario  = $row['code'];      // Código interno
        $id_usuario      = $row['id'];
        
        // Forma mais comum de exibir (exemplos abaixo)
    } else {
        // Não encontrou o usuário
        $nome_usuario = "Usuário não encontrado";
    }
    
    mysqli_stmt_close($stmt);
} else {
    // Erro na preparação da query
    die("Erro na query: " . mysqli_error($conn));
}

//Exibir resultado
echo('<br/>Nome: ' .$nome_usuario);

//Agora, para chamar uma function que retorna um objeto
$usr = getNameVendedor($conn, $cod_vendedor);

//E podemos já exibir o conteúdo
//echo('<br/>Nome: ' .$usr['name']);

//Segue o método
function getNameVendedor($conn, $oid_user) {
    // Validação básica do ID do usuário
    if (!is_numeric($oid_user)) {
        throw new InvalidArgumentException("O ID do usuário deve ser um número.");
    }

    // Prepara a consulta SQL com segurança (usando prepared statements)
    $sql = "SELECT id, name, username, code FROM `salestool_carretaosmartsul`.`users` WHERE username = ?";
    $stmt = mysqli_prepare($conn, $sql);

    if (!$stmt) {
        throw new Exception("Erro ao preparar a consulta: " . mysqli_error($conn));
    }

    // Associa o parâmetro à consulta
    mysqli_stmt_bind_param($stmt, "i", $oid_user);

    // Executa a consulta
    if (!mysqli_stmt_execute($stmt)) {
        throw new Exception("Erro ao executar a consulta: " . mysqli_stmt_error($stmt));
    }

    // Obtém o resultado
    $result = mysqli_stmt_get_result($stmt);

    // Verifica se há resultados
    if (mysqli_num_rows($result) === 0) {
        return null; // Retorna null se o usuário não for encontrado
    }

    // Retorna os dados do usuário
    $user = mysqli_fetch_assoc($result);
    return $user;
}

	
//E o arquivo db.php, pode criar um desta forma com seus dados de conexão
<?php
class Database {
    private static $instance = null;
    private $conn;

    private $host = 'localhost-ou-banco-no-amazon-e-porta:3306';
    private $username = 'username';
    private $password = 'senha';
    private $dbname = 'databasename';
 
    private function __construct() {
        $this->conn = new mysqli($this->host, $this->username, $this->password, $this->dbname);
        if ($this->conn->connect_error) {
            die("Connection failed: " . $this->conn->connect_error);
        }
		
        // Garantir que a conexão use o charset UTF-8
        mysqli_set_charset($this->conn, 'utf8');		
		
    }

    public static function getInstance() {
        if (!self::$instance) {
            self::$instance = new Database();
        }
        return self::$instance;
    }

    public function getConnection() {
        return $this->conn;
    }
}
?>

Please follow and like us:
Pin Share

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

RSS
Follow by Email
WP Radio
WP Radio
OFFLINE LIVE