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;
}
}
?>
