Execute e Select com parametros

<< Click to Display Table of Contents >>

Navigation:  PDO >

Execute e Select com parametros

Previous pageReturn to chapter overviewNext page

require __DIR__ . '/classes/autoload.php';
 
use classes\base\Conexao;
 
$conexao = Conexao::getConexao();
 
// ----- usando indice -- não recomendado - se mexer no sql pode dar erro
$sql = "INSERT INTO tb_cliente (nome, nasc, limite) values (?, ?, ?)";
$comando = $conexao->prepare($sql);
 
$comando->bindValue(1"Maria Hill"PDO::PARAM_STR);
$comando->bindValue(2"2019-07-17"PDO::PARAM_STR);
$comando->bindValue(30.98PDO::PARAM_STR);
 
$comando->execute();
 
echo $comando->rowCount();
 
 
 
// ----- usando nome -- sempre melhor desse modo
$sql = "INSERT INTO tb_cliente (nome, nasc, limite) values (:nome, :nasc, :limite)";
$comando = $conexao->prepare($sql);
 
$comando->bindValue(":nome""Tony Stark"PDO::PARAM_STR);  // PARAM_INT quando inteiro
$comando->bindValue(":nasc""2019-07-11"PDO::PARAM_STR);
$comando->bindValue(":limite"20.98PDO::PARAM_STR);
 
$comando->execute();
 
echo $comando->rowCount();
 
// ----- usando param
$sql = "INSERT INTO tb_cliente (nome, nasc, limite) values (:nome, :nasc, :limite)";
$comando = $conexao->prepare($sql);
 
$nome = "Bruce Banner";
$data = "2019-07-11";
$limite = 20.98;
 
$comando->bindParam(":nome"$nomePDO::PARAM_STR);  // PARAM_INT quando inteiro
$comando->bindParam(":nasc"$dataPDO::PARAM_STR);
$comando->bindParam(":limite"$limitePDO::PARAM_STR);
 
$comando->execute();
 
echo $comando->rowCount();
 
 
 
// ----- usando param com array
$sql = "INSERT INTO tb_cliente (nome, nasc, limite) values (:nome, :nasc, :limite)";
$comando = $conexao->prepare($sql);
 
$cliente = [
    "nome" => "Natasha",
    "nasc" => "2019-07-11",
    "limite" => 20.98
];
 
$comando->execute($cliente);
 
echo $comando->rowCount();
 
 
// ----- usando column para buscar resultados
$sql = "SELECT id, nome, nasc, limite FROM tb_cliente";
$comando = $conexao->prepare($sql);
$comando->execute();
 
$comando->bindColumn("id"$id);
$comando->bindColumn("nome"$nomeCriatura);
$comando->bindColumn(3$email); // não recomendado pelo indice
 
// não use fetchAll()
while ($cli = $comando->fetch()) {
    echo "<p>o id {$id} é de {$nomeCriatura}</p>";
}